首页 > 解决方案 > 我将如何将我从 foreach 获得的值(字符串)分配给不同的变量?

问题描述

我的目标是将我从 foreach 循环中获得的字符串存储到不同的变量中。例如,我有 string Apple=3;Orange=10;Mango=12,我需要存储Apple,OrangeMangoto string sFruit1, (这些字符串还需要根据字符串中有多少项目而增加,比如 if 4,我还需要一个 sFruit4 变量)sFruit2之后sFruit3做一个foreach循环。这似乎很容易,但我无法得到正确的解决方案。这是我的代码:

string sRes = "Apple=3;Orange=10;Mango=12";
string[] sSplitStrings = sRes.Split(';');

foreach (string sFruit in sSplitStrings)
{
    string sLabel = sFruit.Substring(0, sFruit.IndexOf("="));
}

标签: c#

解决方案


最好使用字典,这里有一个例子,如果你想改变,你可以使用列表或任何其他类:

string sRes = "Apple=3;Orange=10;Mango=12";
string[] sSplitStrings = sRes.Split(';');
Dictionary<string,int> listsFruit = new Dictionary<string, int>();
foreach (string sFruit in sSplitStrings)
{
    string sLabel = sFruit.Substring(0, sFruit.IndexOf("="));
    string sValue = sFruit.Replace(sLabel + "=", "");
    listsFruit.Add(sLabel, int.Parse(sValue));
}

推荐阅读