C# Stringbuilder在将其转换为字符串后添加反斜杠
我有一种情况,我想在字符串中添加倒逗号C# Stringbuilder在将其转换为字符串后添加反斜杠,c#,string,stringbuilder,C#,String,Stringbuilder,我有一种情况,我想在字符串中添加倒逗号 static void Main(string[] args) { int valueCounter = 0; int valueCount = 0; var valueBuilder = new StringBuilder(); List<string> values = new List<string>(); values.Add("
static void Main(string[] args)
{
int valueCounter = 0;
int valueCount = 0;
var valueBuilder = new StringBuilder();
List<string> values = new List<string>();
values.Add("AAAA");
values.Add("BBBB");
values.Add("CCCC");
valueCount = values.Count;
foreach (var value in values)
{
valueCounter++;
if ((valueCounter - 1) > 0)
valueBuilder.Append("\"");
valueBuilder.Append(values[valueCounter - 1].ToString());
if (valueCounter != valueCount)
{
valueBuilder.Append(@",");
}
}
string output = valueBuilder.ToString();
}
static void Main(字符串[]args)
{
int valueCounter=0;
int valueCount=0;
var valueBuilder=新的StringBuilder();
列表值=新列表();
增加(“AAAA”);
增加(“BBBB”);
添加(“CCCC”);
valueCount=值。计数;
foreach(值中的var值)
{
valueCounter++;
如果((valueCounter-1)>0)
valueBuilder.Append(“\”);
Append(值[valueCounter-1].ToString());
如果(valueCounter!=valueCount)
{
valueBuilder。附加(@“,”);
}
}
字符串输出=valueBuilder.ToString();
}
如您所见,在将Stringbuilder转换为字符串后,它会向字符串添加反斜杠
static void Main(string[] args)
{
int valueCounter = 0;
int valueCount = 0;
var valueBuilder = new StringBuilder();
List<string> values = new List<string>();
values.Add("AAAA");
values.Add("BBBB");
values.Add("CCCC");
valueCount = values.Count;
foreach (var value in values)
{
valueCounter++;
if ((valueCounter - 1) > 0)
valueBuilder.Append("\"");
valueBuilder.Append(values[valueCounter - 1].ToString());
if (valueCounter != valueCount)
{
valueBuilder.Append(@",");
}
}
string output = valueBuilder.ToString();
}
请帮助我了解如何获得所需的结果:“AAAA”、“BBBB”、“CCCC”只需删除
valueBuilder.Append(“\”)代码>
我的错误。它只是转义\
必须转义在Java字符串对象中使用引号。您抱怨的\
仅在您的工具中可见,并且需要转义“
,以便不会发生错误。如果要执行系统.out.println(输出);
您将看不到\
字符。我认为foreach
循环的以下代码将解决您的问题
foreach (var value in values)
{
value = "\""+value+"\"";
valueBuilder.Append(value);
if (++valueCounter != valueCount)
{
valueBuilder.Append(@",");
}
}
以下是您的代码的更正版本(修复了第一个片段的封闭性):
反斜杠不是字符串的一部分,它只是您使用的工具显示它的方式。为什么不删除添加“\”字符的行?:valueBuilder.Append(“\”);如果要执行System.out.println(输出)代码>您将看不到反斜杠。您是否正在调试器中查看此内容?是的,我正在调试器中查看。这不会添加反斜杠。它只是添加了一个双引号。这将导致错误。需要\来转义“”。
output,nq