访问未编制索引的结构数组中的对象

时间:2013-11-05 17:41:33

标签: c# arrays structure

我有一个初始化的结构对象数组,如下所示:

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

2 个答案:

答案 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;

如果你想使用[]运算符来执行此操作,那么你需要创建自己的类型来保存这样的数组,并在重载的[]运算符中执行类似上面的操作实施