C# 使用索引设置调用

C# 使用索引设置调用,c#,vb.net,C#,Vb.net,我只是删除了我的问题,以更好的方式重新表述,也没有真正帮助我 我可以通过以下方式分配我的用户设置: MySolution.Properties.Settings.Default.settingname1 = "mystring1"; MySolution.Properties.Settings.Default.settingname2 = "mystring2"; ... MySolution.Properties.Settings.Default.settingname300 = "mystr

我只是删除了我的问题,以更好的方式重新表述,也没有真正帮助我

我可以通过以下方式分配我的用户设置:

MySolution.Properties.Settings.Default.settingname1 = "mystring1";
MySolution.Properties.Settings.Default.settingname2 = "mystring2";
...
MySolution.Properties.Settings.Default.settingname300 = "mystring300";
要访问此设置值,我可以做的是

string newstring = MySolution.Properties.Settings.Default.settingname1;
我想要的是,能够以这种方式访问此设置,索引I从1到300不等,我不想进行循环。我正在搜索类似以下内容:

int i = random.Next(1, 301);
string newstring = MySolution.Properties.Settings.Default.----settingnamei-----
我很确定有一个简单的方法,我就是找不到

谢谢你的阅读

编辑 我不喜欢链接问题答案的三个原因:

-我必须对每个循环进行300次迭代才能找到我正在搜索的1个字符串

-这样我只能得到DefaultValue,我想要的是字符串的实际值

-应用程序设置不是用户设置。我要求的是从设置中获取值。cs

给你:

        int i = random.Next(1, 301);
        string newstring = MySolution.Properties.Settings.Default["settingname" + i].ToString();

您链接的问题是一个很好的解决方案。您不喜欢它的哪一点?它可能与什么类的rdm重复?尝试以这种方式使用索引成员的目的是什么?看起来您只是尝试引入一个随机设置?为什么?@Kingpin可能是这样的
objectdefobj=MySolution.Properties.Settings.Default;defObj.GetType().GetField(“settingname”+i).SetValue(defObj,“mystring”+i)