草庐IT

set-key-partition-list

全部标签

c# - 如何在 C# 中的 List<Tuple<string,string>> 中搜索字符串

我有一个List>tr=newList>();tr.Add(newTuple("Test","Add");tr.Add(newTuple("Welcome","Update");foreach(varlstintr){if(lst.Contains("Test"))MessageBox.Show("ValueAvail");}我这样做失败了,.... 最佳答案 如果您想使用LINQ:if(tr.Any(t=>t.Item1=="Test"||t.Item2=="Test"))MessageBox.Show("ValueAvail")

c# - Class B 继承自 ClassA 时,如何将 List<Class> 转换为 List<Class>?

我将json字符串反序列化为List现在我想把它转换到List在我把它从BindModel方法。我需要转换,因为这些方法期望得到List.为什么我在转换时出错?毕竟,ClassB继承自ClassA.我该怎么办?附言这个问题是从thispost扩展而来的.在线newDataContractJsonSerializer(typeof(List));而不是List该类型将在运行时构建。publicoverrideobjectBindModel(...){varserializer=newDataContractJsonSerializer(typeof(List));MemoryStream

c# - 涉及 List<T> 和对象转换的棘手问题

我最近在一次求职面试中被问到这个问题,但不知道如何优雅地回答。从那以后,它一直在困扰着我,我不知道它是对我不知道的某些“现代”技术/技术缺乏了解,还是我只是愚蠢。任何建议都将非常受欢迎。问题想象一个简单的类层次结构:abstractclassPerson{publicstringName{get;set;}}classChild:Person{}classParent:Person{publicListChildren{get;set;}}classAncestor:Parent{}问题是如何遍历此类对象的层次结构并打印出所有遇到的人。所以对于下面的场景:AncestormyAnces

c# - 系统.Runtime.Serialization.InvalidDataContractException : No set method for property

如错误所示,我的属性没有setter,但我不想要setter,它应该是只读的。 最佳答案 已编辑:使二传手成为内部。这仍然可以在程序集中设置,但这是一个很好的技巧,当用于位于其他人使用的程序集中的数据对象时效果很好,因为那些使用程序集的人将无法设置该属性,但是各种序列化程序都可以。 关于c#-系统.Runtime.Serialization.InvalidDataContractException:Nosetmethodforproperty,我们在StackOverflow上找到一个类

c# - : List<T>. Add() 或 System.Array.Resize() 哪个更有效?

我正在尝试确定何时使用List.Add()更有效与使用Array.Resize()相比方法。Array.Resize的文档说它复制了整个数组,并将其放入一个新对象中。旧对象将不得不被丢弃。这个旧对象在哪里?在栈上还是堆上?我不知道List.Add()是如何工作的。有谁知道List.Add方法与静态Array.Resize方法相比如何?我对内存使用(和清理)以及300种值类型和20,000种值类型哪个更好。就其值(value)而言,我计划在.NET的一种嵌入式版本上运行此代码。可能是.NETGadgeteer 最佳答案 你应该使用Li

c# - 如何在不知道 T 是什么的情况下将 T 类型的项目添加到 List<T>?

我正在处理一个事件,该事件传递指向一个列表和一个T新项目的事件参数,我的工作是将新项目添加到列表中。如果不检查我知道T可能是的所有类型,我该如何做到这一点?当前的代码是这样的几十行:privatevoidDataGridCollectionViewSource_CommittingNewItem(objectsender,DataGridCommittingNewItemEventArgse){Typet=e.CollectionView.SourceCollection.GetType();if(t==typeof(List)){Listsource=e.CollectionView

c# - List<string> 复杂排序

我有一个List尺码,例如XS、S、M、L、XL、XXL、UK10、UK12等我想要的是强制顺序为上面的顺序,不管列表中项目的顺序如何,我想我需要一个IComparable运算符但不确定。理想情况下,我希望有另一个具有正确顺序的列表,它可以引用它在列表中的“位置”并自行重新排序,如果它不存在,它将默认为A-Z 最佳答案 按照您希望的顺序创建一个尺码数组,然后根据尺码在该数组中的位置对衬衫进行排序:string[]sizes=new[]{"XS","S","M","L","XL","XXL","UK10","UK12"};varshi

c# - 在 settings.settings 中添加自定义类型

我想使用配置文件.settings来保存这个结构:structsR22Protocole{Int32inputkey;Int32outputkey;Int32voltage;Int32Ohm;Int32Correction;};在设置设计器中,我可以添加不同的类型,但它不会在浏览部分显示我的结构。设计师有什么办法可以访问我的结构吗?如果不是,有没有办法以编程方式添加它? 最佳答案 您的类型必须具有System.Configuration.SettingsSerializeAsAttribute属性。System.Configurat

c# - 如何判断ModelState的哪个key有错误

当ModelState.IsValid为false时,如何确定ModelState中的哪些键包含错误?通常我只是将鼠标悬停在ModelState.Values列表中逐项检查错误计数>0。但现在我正在处理一个包含一些复杂对象列表的View,总共有252个ModelState项目(每个对象的每个项目每个列表的ModelState.Keys上都有一个条目)。那么,有没有更简单的方法来指出错误来源呢? 最佳答案 您可以检查ViewData.ModelState.Values集合并查看错误是什么。[Httpost]publicActionRe

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

鉴于以下简化的EntityFramework6上下文,我试图用实体填充一个列表,但在如何通过反射进行转换(我相信)方面遇到了问题。publicclassFooContext:DbContext{publicvirtualIDbSetFoo{get;set;}//...}publicclassFooClass{publicintId{get;set;}publicstringName{get;set;}//...}publicmain(){using(varcontext=newFooContext()){varsets=typeof(FooContext).GetProperties(