C#将结果切换为列表,然后切换为逗号分隔的值
如何使switch语句填充列表或逗号分隔的字符串 比如说C#将结果切换为列表,然后切换为逗号分隔的值,c#,C#,如何使switch语句填充列表或逗号分隔的字符串 比如说 switch(test) { case 0: "test" break; case 1: "test2" break; case 2: "test3" break; } 所以我的程序会多次进入这个语句。假设它进入两次,有案例2和案例1。我希望字符串值包含以下内容: string value=“test3,test2”看起来像是一个列表,非常适合保存
switch(test)
{
case 0:
"test"
break;
case 1:
"test2"
break;
case 2:
"test3"
break;
}
所以我的程序会多次进入这个语句。假设它进入两次,有案例2和案例1。我希望字符串值包含以下内容:
string value=“test3,test2”看起来像是一个列表,非常适合保存您的值,您可以使用string.Join()创建一个逗号分隔的字符串:
List myList=new List();
//添加项目
myList.Add(“test2”);
//从列表中的当前条目创建字符串
string myString=string.Join(“,”myList);
看起来像是一个列表
最适合保存您的值,您可以使用string.Join()创建一个逗号分隔的字符串:
List myList=new List();
//添加项目
myList.Add(“test2”);
//从列表中的当前条目创建字符串
string myString=string.Join(“,”myList);
多次,你指的是循环?您可以只使用一个字符串并使用+运算符连接该字符串,也可以只使用一个列表并在每次满足case条件时将其添加到该列表中
但是如果你指的是条件流,因此你希望对案例0、1和2都进行计算,那么你可以简单地省略中断,然后像我上面提到的那样进行相同的连接。多次,你指的是循环?您可以只使用一个字符串并使用+运算符连接该字符串,也可以只使用一个列表并在每次满足case条件时将其添加到该列表中
但是,如果您指的是条件流,因此希望对案例0、1和2都进行求值,那么您可以简单地省略中断,并像上面提到的那样执行相同的连接。使用循环和StringBuilder
。如果您正在重复进行连接,StringBuilder
s比naivestring
与+
进行连接的效率要高得多
StringBuilder sb = new StringBuilder();
for(...)
{
switch(test)
{
case 0:
sb.Append("test");
break;
case1:
sb.Append("test2");
break;
case 2:
sb.Append("test3");
break;
}
}
使用循环和StringBuilder
。如果您正在重复进行连接,StringBuilder
s比naivestring
与+
进行连接的效率要高得多
StringBuilder sb = new StringBuilder();
for(...)
{
switch(test)
{
case 0:
sb.Append("test");
break;
case1:
sb.Append("test2");
break;
case 2:
sb.Append("test3");
break;
}
}
无论你在哪里使用过StrValue remove,if都排在最后
在使用StrValue remove的地方,“if”排在最后。有几种方法可以做到这一点,一种非常简单的方法是:
string csv = "";
while (yourCriteria) {
string value;
// insert code to get your test value
switch(test)
{
case 0:
value = "test";
break;
case1:
value = "test2";
break;
case 2:
value = "test3";
break;
}
csv += value + ", ";
}
csv = csv.Length > 0 ? csv.Substring(0, csv.Length-2) : "";
有几种方法可以做到这一点,一种非常简单的方法是:
string csv = "";
while (yourCriteria) {
string value;
// insert code to get your test value
switch(test)
{
case 0:
value = "test";
break;
case1:
value = "test2";
break;
case 2:
value = "test3";
break;
}
csv += value + ", ";
}
csv = csv.Length > 0 ? csv.Substring(0, csv.Length-2) : "";
如果您想在同一个地方多次传递,那么您的问题显然需要某种循环语句。无论如何,你必须在你的问题上更加简洁,因为不可能用你解释的方式来解释它。如果你想在同一个地方传递多次,你的问题显然需要某种循环语句。无论如何,你必须在你的问题上更加简洁,因为不可能用你解释的方式来解释它。