我有一个初始化的结构对象数组,如下所示:
struct1 SettingList[] = { {"as","bs","cs"} , {"ak","bk",ck"} }
struct1定义如下:
struct1{char[] str1; char[] str2; char[] str3}
我正在将一些C ++代码翻译成C#,在c ++代码中我看到了一个如下所示的对象:
SettingList["as"].str1
如何使用该对象的第一个成员访问对象?如何在c#中执行此操作而无需指定SettingList [0] .str1
答案 0 :(得分:1)
您可以使用字典而不是map
。
var settingsList = yourArray.ToDictionary(i => i[0]);
var foo = settingsList["as"];
答案 1 :(得分:0)
如果你想找到具有给定字符串作为第一个值的结构,你可以使用它:
var value = SettingList.First(setting => setting[0] == "as").str1;
如果你想使用[]
运算符来执行此操作,那么你需要创建自己的类型来保存这样的数组,并在重载的[]
运算符中执行类似上面的操作实施