[英]How to name an array based on a variable name
工作是:
foreach (string feature in alpha)
{
for (int i=0; i < l.Count; i++)
{
if (l[i] == feature)
{
string[] ("{0}",feature) = new string[];
}
}
}
string[] ("{0}",feature) = new string[];
是不正确的。 需要做的是,只要条件(l[i] == feature)
匹配,就创建一个新的字符串数组,如下所示: string[] (whatever string there is in feature) = new string[]
。
可能?
我认为词典就是您想要的。
var arrays = alpha
.Where(a => l.Contains(a))
.ToDictionary(a => a, a => new List<string>());
然后访问一个:
List<string> array = arrays["somefeature"];
同时也停止使用数组,几乎没有充分的理由选择其他集合类型的数组。 我之所以使用List
是因为您说过要附加到它。
您可以使用排序列表,其中键值为您的功能;
var featureList = new SortedList<string, string[]>();
foreach (string feature in alpha)
{
var matchingFeatures = new List<string>();
for (int i = 0; i < l.Length; i++)
{
if (l[i] == feature)
{
matchingFeatures.Add(l[i]);
}
}
featureList.Add(feature, matchingFeatures.ToArray());
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.