相关疑难解决方法(0)

根据带有linq的Id列表选择多个记录

我有一个包含我的UserProfile表的Id的列表.如何UserProfiles根据我在var使用中获得的Id列表选择所有内容LINQ

var idList = new int[1, 2, 3, 4, 5];
var userProfiles = _dataContext.UserProfile.Where(......);
Run Code Online (Sandbox Code Playgroud)

我被困在这里.我可以使用for循环等来做到这一点.但我宁愿这样做LINQ.

c# linq

107
推荐指数
4
解决办法
16万
查看次数

测试列表中的所有值是否唯一

我有一个小的字节列表,我想测试它们都是不同的值.例如,我有这个:

List<byte> theList = new List<byte> { 1,4,3,6,1 };
Run Code Online (Sandbox Code Playgroud)

检查所有值是否相同的最佳方法是什么?

c#

77
推荐指数
4
解决办法
4万
查看次数

如何从列表中删除空字符串,然后从列表中删除重复的值

假设我有一个来自表的列值的列表,如何删除空字符串和重复值.请参阅以下代码:

List<string> dtList = dtReportsList.AsEnumerable().Select(dr => dr.Field<string>("column1")).ToList();
Run Code Online (Sandbox Code Playgroud)

这就是我刚刚编写的内容,但是Amiram的代码更优雅,所以我会选择答案就是这样做:

DataTable dtReportsList = someclass.GetReportsList();

        if (dtReportsList.Rows.Count > 0)
       { 


           List<string> dtList = dtReportsList.AsEnumerable().Select(dr => dr.Field<string>("column1")).ToList();
           dtList.RemoveAll(x=>x == "");
           dtList = dtList.Distinct().ToList();         

           rcboModule.DataSource = dtList;
           rcboModule.DataBind();               
           rcboModule.Items.Insert(0, new RadComboBoxItem("All", "All"));


       }
Run Code Online (Sandbox Code Playgroud)

c# linq coding-style

71
推荐指数
3
解决办法
9万
查看次数

Linq OrderBy().ThenBy()方法序列的时间复杂度是多少?

我在我的项目中使用Linq和Lambda Operations,我需要根据类的两个属性对List进行排序.因此,我使用了OrderBy().ThenBy()方法如下:

class ValueWithIndex{
    public long Value;
    public int Index;
}
...

List<ValueWithIndex> valuesWithIndex = new List<ValueWithIndex>();

for (int i = 0; i < A.Length; i++){
    ValueWithIndex vi = new ValueWithIndex();
    vi.Value = A[i];
    vi.Index = i;
    valuesWithIndex.Add(vi);
}
var orderedValues = valuesWithIndex.OrderBy(v => v.Value).ThenBy(v => v.Index);

...
Run Code Online (Sandbox Code Playgroud)

这个答案中,我们解释说,OrderBy()使用Quicksort,因此即使它具有O(N*logN)平均时间复杂度,对于最坏的情况,时间复杂度约为O(N 2).如果ThenBy()方法的时间复杂度最差为O(N 2),那么使用这些方法毫无意义.

ThenBy()方法也使用Quicksort吗?如果是,那是否意味着对于相同的"v.Value","v.Index"会被排序为O(N 2)最差的时间复杂度?

c# linq big-o lambda

16
推荐指数
1
解决办法
4211
查看次数

检查字符串中的无效字符?最聪明的方式?

我想检查一些字符串是否有无效字符.对于无效字符,我的意思是不应该存在的字符.这些是什么角色?这是不同的,但我认为那不重要,重要的是我应该怎么做以及最简单和最好的方法(性能)呢?

假设我只想要包含'A-Z','空','.','$','0-9'的字符串

所以,如果我有一个字符串,如" HELLO STaCKOVERFLOW "=>无效,因为'a'.好的,现在该怎么做?我可以创建一个List<char>并将不允许的每个字符放入其中并使用此列表检查字符串.也许不是一个好主意,因为那时有很多字符.但我可以制作一个包含所有允许的字符的列表吗?然后?对于字符串中的每个字符我都要比较List<char>?任何智能代码?还有一个问题:如果我要添加AZ,List<char>我必须手动添加25个字符,但这些字符就像我在ASCII表中知道65-90,我可以更容易地添加它们吗?有什么建议?谢谢

.net c# list char

8
推荐指数
1
解决办法
2万
查看次数

按字排序C#列表

我想按字词排序C#列表.假设我有一个C#列表(对象),其中包含以下单词:

[{id:1, name: "ABC"},
 {id:2, name: "XXX"},
 {id:3, name: "Mille"},
 {id:4, name: "YYY"},
 {id:5, name: "Mill",
 {id:6, name: "Millen"},
 {id:7, name: "OOO"},
 {id:8, name: "GGGG"},
 {id:9, name: null},
 {id:10, name: "XXX"},
 {id:11, name: "mil"}]  
Run Code Online (Sandbox Code Playgroud)

如果用户Mil作为搜索键传递,我想返回以搜索键开头的所有单词,然后返回与条件不匹配的所有单词并按字母顺序排序.

我能想到的最简单的方法是在结果集上运行for循环,将所有以search键开头的单词放入一个列表中,并将重命名的单词放入另一个列表中.对第二个列表进行排序,然后将它们组合在一起以返回结果.

我想知道是否有更聪明或内置的方式来获得理想的结果.

.net c# linq sorting c#-4.0

5
推荐指数
3
解决办法
1600
查看次数

具有自定义IEqualityComparer的Distinct()方法的大O.

任何人都知道Distinct()方法中使用的算法的大O ,有自定义IEqualityComparer吗?

c# linq big-o

4
推荐指数
1
解决办法
2804
查看次数

仅将新项目从一个列表添加到另一个列表

我有两个清单:

List<string> _list1;
List<string> _list2;
Run Code Online (Sandbox Code Playgroud)

我需要在_list1上添加所有_list2不同的项目...

我怎么能用LINQ做到这一点?

谢谢

c# linq asp.net

3
推荐指数
3
解决办法
4919
查看次数

从对象数组中删除重复项

我有一个叫Customer有几个字符串属性的类

firstName, lastName, email, etc.  
Run Code Online (Sandbox Code Playgroud)

我从一个csv创建该类数组的文件中读取客户信息:

Customer[] customers  
Run Code Online (Sandbox Code Playgroud)

我需要删除具有相同电子邮件地址的重复客户,每个特定电子邮件地址只留下1个客户记录.

我使用2个循环完成了这项工作,但由于通常有50,000多个客户记录,因此需要将近5分钟.完成删除重复项后,我需要将客户信息写入另一个csv文件(此处无需帮助).

如果我Distinct在循环中执行了一个循环,那么如何删除作为该特定客户的类的一部分的其他字符串变量?

谢谢,安德鲁

c# arrays class duplicates

3
推荐指数
1
解决办法
1457
查看次数

Dictionary的OrderBy方法的大O是多少?

我正在使用OrderBy方法对10,000个元素的Dictionary进行排序,如下所示,并想知道它的大O. 有人知道吗?在对它们进行排序后,我将按顺序将它们添加到新的字典中.可能有更好的方法,但它适用于我的目的.

这是我的例子:

        m_sortedItems = new Dictionary<int,string>();
        foreach(KeyValuePair<int,string> item in collection.OrderBy(key => key.Value)){
            m_sortedItems.Add(item.Key, item.Value);
        }
Run Code Online (Sandbox Code Playgroud)

我检查了msdn但它没有列出:http: //msdn.microsoft.com/en-us/library/bb534966.aspx

c# sorting big-o dictionary

2
推荐指数
1
解决办法
1723
查看次数

标签 统计

c# ×10

linq ×6

big-o ×3

.net ×2

sorting ×2

arrays ×1

asp.net ×1

c#-4.0 ×1

char ×1

class ×1

coding-style ×1

dictionary ×1

duplicates ×1

lambda ×1

list ×1