草庐IT

buts_list

全部标签

C# 从 List<KeyValuePair<string, string> 获取键和值

给定一个列表:privateList>KV_List=newList>();voidinitList(){KV_List.Add(newKeyValuePair("qwer","asdf"));KV_List.Add(newKeyValuePair("qwer","ghjk"));KV_List.Add(newKeyValuePair("zxcv","asdf"));KV_List.Add(newKeyValuePair("hjkl","uiop"));}(注意:键“qwer”有多个值,值“asdf”有多个键。)1)是否有比仅在KeyValuePair列表上执行foreach更好的方法

c# - List<T> 并发删除和添加

我不太确定,所以我想我会问。将删除和添加项目到System.Collections.Generic.List对象是非线程安全的?我的情况:当收到一个连接时,它会被添加到列表中,但同时,还有一个工作人员正在删除死连接等。有问题吗?请问lock做?我还想知道我是否被允许使用列表对象上的锁Foreach方法。 最佳答案 是的,在List中添加和删除项目不是线程安全的,因此您需要同步访问,例如使用lock.注意lock关键字绝不会锁定您用作标识符的对象,它只会防止两个线程同时进入同一代码块。您将需要锁定访问列表的所有代码,使用相同的对象作为

c# - 如何将 IQueryable<T> 转换为 List<T>?

刚刚学习LINQ,我在测试项目中遇到了新手障碍。你能解释一下我做错了什么吗?publicListretrieveLists(intUserID){//Integrateuseridspecificationlater-needtoaddlistUsertablefirstIQueryablelists=fromlindb.ToDoListsselectnewToDoListInfo{ListID=l.ListID,ListName=l.ListName,Order=l.Order,Completed=l.Completed};returnlists.ToList;}我收到一条错误消息:

c# - 在 C# 中返回数组是错误的形式吗?我应该返回 List<T> 吗?

我有一个返回可变数量元素的函数,我应该返回数组还是列表?“集合”的大小一旦返回就不会改变,即出于所有目的集合都是不可变的。我想只返回一个数组,但有些人说不要从函数返回可变大小的数组,因为它是“糟糕的形式”。不确定为什么?这需要与.NET2.0兼容有关系吗? 最佳答案 如果不需要返回数组是一种不好的形式,尤其是返回List.通常,您需要返回IEnumerable或IList.如果您的用户只需要遍历每个元素,IEnumerable将提供这种能力。它还允许您使用延迟执行潜在地(现在或以后)实现例程。如果你的用户需要通过索引访问元素,返回I

c# - 如何将 List<string> 绑定(bind)到 ItemsControl?

在我的演示者中我有这个属性:publicListPropertyNames{get;set;}我想用这样的ItemsControl/DataTemplate列出名称:由于通用列表没有命名属性,我如何在我的绑定(bind)语句中引用值? 最佳答案 让我来回答这个问题,它只是{Binding}。 关于c#-如何将List绑定(bind)到ItemsControl?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.

c# - 如何在 c#/.net 中对 List<T> 进行排序

我有一个类PropertyDetails:publicclassPropertyDetails{publicintSequence{get;set;}publicintLength{get;set;}publicstringType{get;set;}}我正在创建一个PropertyDetails列表作为ListpropertyDetailsList=newList();我想按PropertyDetails.Sequence对这个列表进行排序。欢迎使用Linq解决方案。 最佳答案 如果您想就地对现有列表进行排序,那么您可以使用Sor

c# - 在 Linq 中将两个 List<object> 合并为一个 List

我有两个列表。BeamElevations和FloorElevations.我怎样才能将这些合并到Elevations使用Linq根据海拔高度列出并排序它们? 最佳答案 使用Concat和OrderByvarresult=list1.Concat(list2).OrderBy(x=>x.Elevation).ToList();如果您想删除重复项并获得一组独特的元素,您还可以使用Union方法:varresult=list1.Union(list2).OrderBy(x=>x.Elevation).ToList();为了使其正常工作,

C# 列出 : How to copy elements from one list to another, 但仅列出某些属性

所以我有一个具有许多属性的对象列表。这些属性包括name和id。我们称这个对象为ExtendedObject。我还声明了一个新的不同对象列表,这些对象仅name和id属性。我们称此对象为BasicObject。我想做的是将ExtendedObject对象列表转换或复制(因为缺少更好的词)到BasicObject对象列表。我知道C#列表有很多有用的有趣方法,所以我想知道是否有一种简单的方法可以表达以下效果:basicObjectList=extendedObjectList.SomeListMethod(someconditionhere);但我意识到它可能最终看起来不像那样。我还意识到

c# - 将 ICollection<T> 转换为 List<T>

我正在尝试使用以下代码将ICollection转换为List-ICollectionlist_Stuctures=dataConnectorService.ListStructures(dataConnector,SupportedDataStructures.All);Listlst_DataStructure=newList();list_Stuctures.CopyTo(lst_DataStructure);在最后一行,我得到以下异常-Exception=TargetParameterCountExceptionMessage=Parametercountmismatch.如何将

c# - 找到的程序集的 list 定义与程序集引用不匹配。 (来自 HRESULT : 0x80131040) 的异常

签署第三方程序集并将它们添加到GAC后,我收到以下错误:程序集Binder日志条目也显示thiserror它说不匹配的程序集不确定在我删除所有obj和bin折叠并批量构建应用程序+重新导入dll时会发生什么错误。Assemblymanagerloadedfrom:C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dllRunningunderexecutableC:\ProgramFiles(x86)\CommonFiles\MicrosoftShared\DevServer\11.0\WebDev.WebServer40.exe---