繁体   English   中英

如何基于变量名命名数组

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM