如何在条件逻辑中将整数迭代器附加到字符串的末尾? C#winforms

时间:2018-01-15 16:11:28

标签: c# for-loop conditional

我试图检查一个不在数组中的字符串列表,而是存储为7个单独的变量。

As follows

在这种情况下是否可以将i附加到floor变量的末尾以便根据它进行选择?所以......就像......

for (int i = 0; i < 7; i++)
{
    if (floor(i) ...)
}

谢谢。

2 个答案:

答案 0 :(得分:2)

添加这些字符串的集合不会推动你的内存消耗(因为字符串是通过引用存储的,而不是数据复制)。但是,您将获得更合适的数据操作方式:

// init a collection container
var floors = new string[] {floor0, floor1, floor2, floor3, floor4, floor5, floor6, };

// old-school "array + loop"
for (int i = 0; i < 7; i++)
{
    if (floors[i] ...)
}

// or functional-style LINQ
var interestingFloorsIterator = floors.Where(...condition predicate...);
var interestingFloorsArray = floors.Where(...condition predicate...).ToArray();

// etc... etc... etc...

答案 1 :(得分:0)

C#中没有此类可用性。但是,您可以更改代码以保留字符串列表(List<List<string>>)的列表。通过这种方式,您可以获得需要使用的索引。

List<List<string>> floors = new List<List<string>>();
//... populate data
for (int i = 0; i < floors.Count; i++)
{
    List<string> floor = floors[i];
    //Perform work on floor
}

由于我只能看到您的代码片段,这只是一个基本的例子。