C#列表元组替换/删除以前的数据
谢谢你所有的信息,真的帮助了我,我终于决定张贴在这里。我刚刚发现了元组,它允许我用其他元素创建列表列表。 以下是我的简化代码:C#列表元组替换/删除以前的数据,c#,list,tuples,C#,List,Tuples,谢谢你所有的信息,真的帮助了我,我终于决定张贴在这里。我刚刚发现了元组,它允许我用其他元素创建列表列表。 以下是我的简化代码: public class Category { //Classe "Category" comprenant le nom de la category et sa proportion de CIR public string category_name {get; set;} public string proportion {get
public class Category { //Classe "Category" comprenant le nom de la category et sa proportion de CIR
public string category_name {get; set;}
public string proportion {get; set;}
}
public static void Main(string[] args)
{
var Projects = new List<Tuple<string, List<Category>>>();
while(...)
{ [...]
var List_Categories = new List<Category>()
while(...)
{ [...]
List_Categories.Add(category_example);
}
Projects.Add(Tuple.Create(nom_projet, List_Categories);
}
}
public class Category{//Classe“Category”包括类别名称和类别比例
公共字符串类别\u名称{get;set;}
公共字符串比例{get;set;}
}
公共静态void Main(字符串[]args)
{
var Projects=新列表();
而(…)
{ [...]
变量列表\类别=新列表()
而(…)
{ [...]
列出类别。添加(类别示例);
}
添加(Tuple.Create(nom_projet,List_Categories);
}
}
我的“Category”类只有2个字符串,“project”是一个列表和一个字符串(project_name),因此我使用Tuple来实现这个目的。
第一个问题:我本来会为“project”创建一个类,但我找不到如何将元组作为类的参数?(他不将“var”类型识别为参数)然后,第二个问题:我有一个问题:当程序进行时,在“项目”(即“项目”列表)中,“项目名称”写得很好,但“类别”数据每次都被列表中每个索引的新数据替换。我不知道这怎么可能
非常感谢,我希望你能理解我的问题,我很抱歉我的英语不是我的母语。如果不能理解,我会重新编写。试着用字典代替
public static void Main(string[] args)
{
var Projects = new Dictionary<string, List<Category>>();
while(...)
{ [...]
var List_Categories = new List<Category>()
while(...)
{ [...]
List_Categories.Add(category_example);
}
Projects.Add(nom_projet, List_Categories);
}
}
publicstaticvoidmain(字符串[]args)
{
var Projects=newdictionary();
而(…)
{ [...]
变量列表\类别=新列表()
而(…)
{ [...]
列出类别。添加(类别示例);
}
添加(项目名称、项目类别列表);
}
}
通过在每个循环上创建一个元组,您将覆盖以前的工作。使用字典,您可以简单地将元组添加到循环内部的集合中
public class Project
{
public string project_name {get; set;}
public List<Category> categories {get; set;}
}
公共类项目
{
公共字符串项目名称{get;set;}
公共列表类别{get;set;}
}
正如科拉克提到的,我认为一本字典可能会对你的另一个问题有所帮助
顺便说一句,不能将
var
用作属性的类型的原因是它不是一种类型——它只是一种在不显式指定该变量类型的情况下声明变量的简写方法(编译器会计算出来),但它是。您不能将它用于属性,因为编译器无法确定该属性的类型。a的类型是元组
——例如,这里的元组是元组
,如果需要,您当然可以拥有该类型的类属性“我刚刚发现了元组,它允许我用其他元素创建列表。”男孩,当你发现字典时,你会感到兴奋吗?^^^我已经尝试了Dictionnary,但它没有帮助。但是你的解决方案与类“Project”非常好!非常感谢你,因为我无法使用“var”,我不知道如何创建以列表作为参数的类。再次感谢:)