草庐IT

list-type

全部标签

c# - 复杂对象上的 GroupBy(例如 List<T>)

使用GroupBy()和Count()>1我试图在列表中查找我的类的重复实例。这个类看起来像这样:publicclassSampleObject{publicstringId;publicIEnumerableEvents;}这就是我实例化和分组列表的方式:publicclassProgram{privatestaticvoidMain(string[]args){varitems=newList(){newSampleObject(){Id="Id",Events=newList(){"ExampleEvent"}},newSampleObject(){Id="Id",Events=

c# - 如何序列化 List<T>?

我有A类。B类和C类是A类的一部分。ClassA{//FewPropertiesofClassAListlist1=newList()Listlist2=newList()NsystemNotSystem{get;set;}//EnumPropertyType}publicenumNsystem{A=0,B=1,C=2}我想序列化A类并用它生成XML;我还想序列化list1和list2以及枚举...什么是序列化此XML的好方法,因为我需要将对象转换为XML并将XML转换为对象的功能...执行此操作有哪些好的选择?谢谢 最佳答案 您可

c# - 使用 newtonsoft.json 反序列化 List<AbstractClass>

我正在尝试序列化和反序列化abstract类列表(mustinheritforvb),显然其中只有派生类的实例。我用JsonProperty(ItemTypeNameHandling=TypeNameHandling.Auto)修饰了列表参数,获得如下所示的输出:但是我反序列化的时候一直说他不能反序列化一个抽象类。http://james.newtonking.com/json/help/index.html?topic=html/SerializeTypeNameHandling.htmpublicclassConcreteClass{privateObservableCollect

c# - IEnumerable<IGrouping> 到 IEnumerable<List>

所以我有这个:IEnumerable>groupedObjects=myObjectsResults.GroupBy(x=>x.Id);问题是,如何将此结果转换为IEnumerable>?这是我所能接受的:IEnumerable>groupedObjects=(myObjectsResults.GroupBy(x=>x.Id).SelectMany(group=>group).ToList());这显然是不正确的。有什么想法吗? 最佳答案 IEnumerable>groupedObjects=myObjectsResults.Gro

c# - Visual Studio 2015 中是否有用于 C# 的 "Go To Variable Type Declaration"函数或一个免费插件?

voidMagicalFunction(MagicalTypemagic){...magic.Poof("something");...varfoo=magic.GetFoo();...}在变量magic上按下热键将导航到类型MagicalType的定义。在foo上按下热键将转到类型Foo的定义,由于类型推断,它在这里不直接可见。Resharper插件具有此功能(称为GoToTypeofSymbol),但是是否有内置的替代方案或免费扩展来执行此操作? 最佳答案 右键单击“var”关键字,从上下文菜单中选择“Gotodefinitio

c# - 如何确定 System.Type 是自定义类型还是框架类型?

我想清楚地确定我拥有的类型是自定义类类型(MyClass)还是框架提供的类型(System.String)。有什么方法可以将我的类类型与system.string或其他框架提供的类型区分开来吗? 最佳答案 安全检查类型是否属于程序集的唯一方法是检查程序集的完全限定名称,其中包含其名称、版本、区域性和公钥(如果已签名)。所有.Net基类库(BCL)均由Microsoft使用其私钥签名。这使得其他任何人几乎不可能创建与基类库具有相同完全限定名称的程序集。//addmore.NetBCLnamesasnecessaryvarsystemN

c# - List.Sort 使用 lambda 表达式

我正在尝试使用lambda表达式对列表的一部分进行排序,但在尝试这样做时出现错误:Listlist=newList();list.Add(1);list.Add(3);list.Add(2);list.Add(4);//worksfinelist.Sort((i1,i2)=>i1.CompareTo(i2));//"Cannotconvertlambdaexpressiontotype'System.Collections.Generic.IComparer'becauseitisnotadelegatetype"list.Sort(1,2,(i1,i2)=>i1.CompareTo(

C# - 当 Dog 是 Animal 的子类时,如何将 List<Dog> 转换为 List<Animal>?

我有一个类Animal,及其子类Dog.我有一个List我想添加一些List的内容到List.有没有比只投List更好的方法呢?到List,然后使用AddRange? 最佳答案 如果您使用的是C#4,则不需要转换:Listanimals=newList();Listdogs=newList();animals.AddRange(dogs);这是允许的,因为AddRange()接受IEnumerable,即covariant.如果您没有C#4,那么您将不得不迭代List并转换每个项目,因为协方差只是在那时添加。您可以通过.Cast完成

c# - 防止重复的 List<T> 条目

我希望我能够解决这个问题,但我终其一生都无法理解为什么这段代码无法正常运行并允许将重复的条目添加到列表中。永远不会满足if语句条件,即使我从同一位置拖入相同的文件也是如此。我不明白为什么“包含”方法不匹配它们。publicclassForm1:Form{privateListdragDropFiles=newList();privatevoidForm1_DragDrop(objectsender,DragEventArgse){try{if(e.Data.GetDataPresent(DataFormats.FileDrop)){string[]files=(string[])e.D

c# - 系统.Data.SqlClient.SqlException : Invalid column name 'phone_types_phone_type_id'

我正在尝试从我的一些模型中获取信息,这些模型与我的主要员工模型具有外键关系。如果我单独绘制每个模型,我可以像往常一样毫无问题地访问它们,但我必须访问多个不同的网页才能这样做。我正在尝试将我的几个模型合并为一个Controller,并以这种方式使用它们。不幸的是,当我尝试访问这些模型时,出现了一个奇怪的错误:System.Data.SqlClient.SqlException:Invalidcolumnname'phone_types_phone_type_id'.搜索我的代码后,显然phone_types_phone_type_id出现的唯一位置是在我的迁移代码中。总的来说,我对C#和