使用字符串来决定要使用哪个数组(c#)

本文关键字:数组 字符串 决定 | 更新日期: 2023-09-27 18:15:28

我想问是否有办法将String转换为arrayname?

示例:

我得到了大约4个数组:姓名、年龄、性别、国籍

现在我得到了一个字符串,上面写着"nationality",现在我想在代码中使用这个字符串来访问nationality数组。或者,如果我将字符串更改为"age",我想访问age数组。。。我希望它清楚我的意思。

我真的不知道如何做到这一点,希望你至少能给我一些关于这个主题的信息。

希望有人能帮助我!

来自德国的问候,

Marvin

编辑:

谢谢你的回答。。到目前为止,我在编程方面还不是很好,所以我不确定我是否理解得很好。

我想我是用String做所有的事情,还是在数组中有不同的类型,都无关紧要,因为我可以转换它们,或者?

到目前为止,我从未使用过Lists。我想我的考试可能不是最好的,所以这里有一个新的:

我得到了不同的数组(比如说所有的String(:我为桌面游戏制作了这个程序

name              //Name of a hero
points            // Costs for using it
leader            //kinda the fraction
character         //an attribut units got
abilityhelpers    //what does a hero need to be helpfull for this unit
where             //where to serach

所以我得到了不同的单位:

pete
10
leader a
friendly
less 100 //so every hero that costs less then 100 points helps him
points
mike
110
leader b
smart
leader a //so he is good with heros from leader a
leader

程序随机选择一个单元,比方说它选择了迈克。。。不,看他得到了什么Abilityhelpers。。。在这种情况下,它是"首领a",所以他应该查看阵列首领中的所有条目,并将每个获得"首领a"的英雄添加到列表中。然后它从这个列表中随机选择一个,并对他做同样的事情。。。因此,如果Pete被选中,它会在数组Points中搜索所有得分低于100分的人。

但我不想有100万个不同的可能性(有8个不同的属性,有时有3个作为一场精彩比赛的限制(比如:领先者a,友好,得分低于5((

我想要一些类似的东西:

字符串a=其中[0]//包含在何处搜索帮助的信息的字符串

for(i=0;1<array.length;i++)
{
if (a[i]==abilityhelpers[0])
    //then add name[i] to the list
}

我不想要这个问题的确切代码(我想我不会得到它(,我很想知道这是否可能,如果是的话,一些建议在哪里寻找,或者一些食物来表达我的想法^^

使用字符串来决定要使用哪个数组(c#)

您可以使用Generic Dictionary,它将键作为字符串,将值作为字符串array / List<string>

Dictionary<string, string[]> dictionary = Dictionary<string, string[]>();

Dictionary<string, List<string>> dictionary = Dictionary<string, List<string>>();

为什么不将数组存储在字典中。类似的东西:

Dictionary<string, Array> arrays = new Dictionary<string,Array>();
string key="key";
Array ages = arrays[key];

如果您的数组属于不同类型(因此您不能使用Dictionary<String, T>(,我建议使用DataTable:

  DataTable table = new DataTable();
  // Age is integer: 34, 81, 19...  
  table.Columns.Add("Age", typeof(int));
  // Nationality is String: "English", "Dutch"... 
  table.Columns.Add("Nationality", typeof(String));
  // Gender is Char: 'M' or 'F' 
  table.Columns.Add("Gender", typeof(Char));
  // ...

从表格中获取数据:

  int[] ages = table
    .AsEnumerable()
    .Select(row => row["Age"])
    .ToArray();