C# C动态数组/索引
我在我的c程序中创建了一个字符串[]数组来保存一组元素的位置名称和位置。问题是,每当我必须引入新元素时,我都必须根据元素索引在多个位置更改代码:C# C动态数组/索引,c#,arrays,arraylist,C#,Arrays,Arraylist,我在我的c程序中创建了一个字符串[]数组来保存一组元素的位置名称和位置。问题是,每当我必须引入新元素时,我都必须根据元素索引在多个位置更改代码: string[] list = new string[4]; list[0] = "[ELEMENT #1 NAME],[ELEMENT #1POSITION]"; list[1] = "[ELEMENT #2 NAME],[ELEMENT #2POSITION]"; list[2] = "[ELEMENT #3 NAME],[
string[] list = new string[4];
list[0] = "[ELEMENT #1 NAME],[ELEMENT #1POSITION]";
list[1] = "[ELEMENT #2 NAME],[ELEMENT #2POSITION]";
list[2] = "[ELEMENT #3 NAME],[ELEMENT #3POSITION]";
list[3] = "[ELEMENT #4 NAME],[ELEMENT #4POSITION]";
我想要的是一个类似于动态数组的东西,这样我就不必在每次从列表中引入/删除元素时都更改索引位置。试试看
List<string> list = new List<string>();
list.Add("[ELEMENT #1 NAME],[ELEMENT #1POSITION]")
除非我误解了你的问题,否则这应该是你想要的
List<string> list = new List<string>();
list.Add("[ELEMENT #1 NAME],[ELEMENT #1POSITION]")
除非我误解了你的问题,否则这应该是你想要的如果你想要一个动态大小的集合,而不需要索引,你可以使用List。您还应该创建一个具有两个属性Name和Position的类型,并具有该类型的列表,而不是将它们存储为字符串。它更易于维护,您不必在每次想要获取/设置特定对象的名称或位置时都解析字符串。如果您想要动态调整大小的集合,并且不必麻烦索引,则可以使用列表。您还应该创建一个具有两个属性Name和Position的类型,并具有该类型的列表,而不是将它们存储为字符串。它更易于维护,您不必在每次获取/设置特定对象的名称或位置时都解析字符串。通常,您只需在此处使用列表即可。Add方法允许您只添加一个元素,而不需要索引
List<string> list = new List<string>();
list.Add("Test");
通常,您只需在此处使用列表。Add方法允许您只添加一个元素,而不需要索引
List<string> list = new List<string>();
list.Add("Test");
可以将列表用作动态数组,它支持IEnumerable进行枚举,也可以调用LINQ和ToArray
例如:
var list = new List<string>();
list.Add("[ELEMENT #1 NAME],[ELEMENT #1POSITION]");
string array[] = list.ToArray();
var dict = new Dictionary<string,int>();
dict["Element #1 Name"] = #Element #1 Position#;
可以将列表用作动态数组,它支持IEnumerable进行枚举,也可以调用LINQ和ToArray
例如:
var list = new List<string>();
list.Add("[ELEMENT #1 NAME],[ELEMENT #1POSITION]");
string array[] = list.ToArray();
var dict = new Dictionary<string,int>();
dict["Element #1 Name"] = #Element #1 Position#;
为什么不使用具有属性名称和位置的类,然后使用该类对象的数组或列表。请改用列表。您可以动态构建它,如果需要数组,您可以调用其.ToString方法。元素名称是否唯一?为什么不使用具有属性名称和位置的类,然后使用该类对象的数组或列表。请改用列表。您可以动态构建它,如果您需要数组,您可以调用它的.ToString方法。元素名称是否唯一?感谢Lloyd、BradleyDotNET、Selman22、stakx和fallaciousreasoning,它解决了问题,非常感谢。感谢Lloyd、BradleyDotNET、Selman22、stakx和fallaciousreasoning,它解决了问题,非常感谢。