草庐IT

last_list

全部标签

c# - 在 C# 中初始化一个 Generic.List

在C#中,我可以使用以下语法初始化列表。ListintList=newList(){1,2,3};我想知道{}语法是如何工作的,以及它是否有名称。有一个采用IEnumerable的构造函数,您可以调用它。ListintList=newList(newint[]{1,2,3});这似乎更“标准”。当我解构列表的默认构造函数时,我只看到this._items=Array.Empty;我希望能够做到这一点。CustomClassabc=newCustomClass(){1,2,3};并能够使用1,2,3列表。这是如何工作的?更新乔恩斯基特回答It'scallingtheparameterle

c# - ArrayList 与 List<object>

我在Initializegenericobjectwithunknowntype上看到了Jon的回复:Ifyouwantasinglecollectiontocontainmultipleunrelatedtypesofvalues,however,youwillhavetouseList我不是在比较ArrayList对比List,但是ArrayList对比List,因为两者都将公开object类型的元素.在这种情况下使用其中任何一个有什么好处?编辑:这里不关心类型安全,因为两个类都公开了object作为它的项目。仍然需要从object转换到所需的类型。我对类型安全以外的任何事情都更感

c# - 无法使用 GetManifestResourceStream() 加载 list 资源

我使用XSD创建了一个自定义配置部分。为了解析遵循这个新模式的配置文件,我用这个加载资源(我的.xsd文件):publicpartialclassMonitoringConfiguration{publicconststringConfigXsd="MonitoringAPI.Configuration.MonitoringConfiguration.xsd";publicconststringConfigSchema="urn:MonitoringConfiguration-1.0";privatestaticXmlSchemaSetxmlSchemaSet;staticMonito

c# - 更改 List<T> 中的一些值

我有一些列表(其中T是自定义类,类具有一些属性)。我想知道如何使用Lambda表达式更改其中的一个或多个值,因此结果将与下面的foreach循环相同:注意:列表中包含多个项目(多行)foreach(MyClassmcinlist){if(mc.Name=="height")mc.Value=30;}这是linq查询(使用Lambda表达式),但它与上面的foreach循环不同,它只返回列表中的1项(一行)!我想要的是,它返回所有项目(所有行)并且只更改适当的项目(在WHERE扩展方法中指定的项目)。list=list.Where(w=>w.Name=="height").Select(

c# - 将 IQueryable<> 类型对象转换为 List<T> 类型?

我有IQueryable对象。我想把它转换成List使用选定的列,如new{ID=s.ID,Name=s.Name}.已编辑马克,你说得对!但我只能访问FindByAll()方法(因为我的架构)。它给了我IQueryable中的整个对象而且我有严格的要求(为选择标签创建json对象)只有list键入两个字段。 最佳答案 然后只需选择:varlist=source.Select(s=>new{ID=s.ID,Name=s.Name}).ToList();(编辑)实际上-在这种情况下可以推断名称,因此您可以使用:varlist=sour

c# - 将字典转换为 List<KeyValuePair>

我知道可以将KeyValuePair的列表转换为字典,但是有没有一种快速的方法(除了手动循环之外)执行反之亦然的操作?这是手动方式,foreach(KeyValuePairpindict){list.Add(newKeyValuePair(p.Key,p.Value));}并没有那么糟糕,但我只是好奇。 最佳答案 转换Dictionary到List>你可以说varlist=dictionary.ToList();或更冗长varlist=dictionary.ToList>();这是因为Dictionary工具IEnumerable>

c# - 如何在不引用原始 List<T> 的情况下分配 List<T>?

例如Listname_list1=newList();Listname_list2=newList();后面的代码:name_list1.Add("McDonald");name_list1.Add("Harveys");name_list1.Add("Wendys");name_list2=name_list1;//Imakeacopyofnamelist1tonamelist2因此,从现在开始,我想在不影响name_list1的情况下,继续在name_list2中添加元素或进行更改。我该怎么做? 最佳答案 name_list2=

c# - 使用 LINQ 在 C# 中获取 List<> 元素位置

我有一个带数字的列表,我想使用LINQ找到最小值(不是值)的位置例子:varlst=newList(){3,1,0,5};现在我正在寻找返回我的函数output=2因为最小值在列表中的位置2。 最佳答案 varlist=newList{3,1,0,5};intpos=list.IndexOf(list.Min());//returns2 关于c#-使用LINQ在C#中获取List元素位置,我们在StackOverflow上找到一个类似的问题: https://

c# - 在 C# 中,是否可以将 List<Child> 转换为 List<Parent>?

我想做这样的事情:ListchildList=newList();...ListparentList=childList;但是,因为parentList是Child祖先的List,而不是直接祖先,所以我无法执行此操作。是否有解决方法(除了单独添加每个元素)? 最佳答案 使用LINQ:ListparentList=childList.Cast().ToList();DocumentationforCast() 关于c#-在C#中,是否可以将List转换为List?,我们在StackOver

c# - List<T> 只读,带有私有(private)集

我怎样才能公开List以便它是只读的,但可以私下设置?这行不通:publicListmyList{readonlyget;privateset;}即使你这样做:publicListmyList{get;privateset;}您仍然可以这样做:myList.Add("TEST");//Thisshouldnotbeallowed我想你可以:publicListmyList{get{returnotherList;}}privateListotherList{get;set;} 最佳答案 我认为你在混淆概念。publicListmyL