如何在 C# 中转义变量?
How to escape variables in C#?
我想知道是不是哪里出了问题
这种代码的和平?我是说怎么逃
从字符串变量(在 C# 中)? (如果我没有正确理解转义是什么的话。)
int i;
string s;
for(i=0;i<10;i++)
{
s="\u00A"+i;
Console.WriteLine(s);
}
(其实我是想让程序写成
一系列 unicode 字符,用于取消编码 table,例如 00A9=® 和 00A5=¥。
或者通常我想在反斜杠后使用变量)
为简单起见:
string a,b;
a="t";
b="n";
Console.WriteLine("Hi\{0}All\{1}",a,b);
我想键入一个制表符并插入一个新行(我知道可以直接在 WriteLine 中写入 \n 和 \t,但我假设我们想从用户那里获取特殊字符)
提前致谢。 ☺
int i;
string x;
for(i=0;i<10;i++)
{
x= @"\u00A" + i; //if you want the backslash
// without @ it's x= "\u00A"+i; //so the backslash is escaped
Console.WriteLine(x);
}
编辑
for (int i = 0; i < 10; i++)
{
Console.WriteLine(
char
.ConvertFromUtf32(
int.Parse("00A"+ i, System.Globalization.NumberStyles.HexNumber)));
}
关于另一个问题,你唯一能做的就是:
string a,b;
a="\t";
b="\n";
Console.WriteLine("Hi{0}All{1}",a,b);
Unicode 转义序列需要 4 位数字:
for(var i = 0; i < 10; i++)
{
var x="\u000A"+i; // notice 3 zeros
Console.WriteLine(x);
}
备注
- 通常您会使用
"\n"
作为新行(甚至 Environemnt.NewLine
),例如 Console.Write("\n" + i);
- 将整数(或任何其他值)添加到字符串会导致自动调用
.ToString
,因此您可以将任何对象添加到字符串。通常最好使用 String.Format("\n {0}", i);
而不是 +
来提供更多 flexible/readable 格式(添加许多字符串 - 有更好的方法 - 搜索)。
- 如果你正在寻找用代码写出特定整数值的字符(比如 32 是 space),你应该将它转换为
char
:x="\u000A"+(char)i
- 你也应该选择可打印范围(如 32-42)。
我想知道是不是哪里出了问题 这种代码的和平?我是说怎么逃 从字符串变量(在 C# 中)? (如果我没有正确理解转义是什么的话。)
int i;
string s;
for(i=0;i<10;i++)
{
s="\u00A"+i;
Console.WriteLine(s);
}
(其实我是想让程序写成 一系列 unicode 字符,用于取消编码 table,例如 00A9=® 和 00A5=¥。 或者通常我想在反斜杠后使用变量)
为简单起见:
string a,b;
a="t";
b="n";
Console.WriteLine("Hi\{0}All\{1}",a,b);
我想键入一个制表符并插入一个新行(我知道可以直接在 WriteLine 中写入 \n 和 \t,但我假设我们想从用户那里获取特殊字符) 提前致谢。 ☺
int i;
string x;
for(i=0;i<10;i++)
{
x= @"\u00A" + i; //if you want the backslash
// without @ it's x= "\u00A"+i; //so the backslash is escaped
Console.WriteLine(x);
}
编辑
for (int i = 0; i < 10; i++)
{
Console.WriteLine(
char
.ConvertFromUtf32(
int.Parse("00A"+ i, System.Globalization.NumberStyles.HexNumber)));
}
关于另一个问题,你唯一能做的就是:
string a,b;
a="\t";
b="\n";
Console.WriteLine("Hi{0}All{1}",a,b);
Unicode 转义序列需要 4 位数字:
for(var i = 0; i < 10; i++)
{
var x="\u000A"+i; // notice 3 zeros
Console.WriteLine(x);
}
备注
- 通常您会使用
"\n"
作为新行(甚至Environemnt.NewLine
),例如Console.Write("\n" + i);
- 将整数(或任何其他值)添加到字符串会导致自动调用
.ToString
,因此您可以将任何对象添加到字符串。通常最好使用String.Format("\n {0}", i);
而不是+
来提供更多 flexible/readable 格式(添加许多字符串 - 有更好的方法 - 搜索)。 - 如果你正在寻找用代码写出特定整数值的字符(比如 32 是 space),你应该将它转换为
char
:x="\u000A"+(char)i
- 你也应该选择可打印范围(如 32-42)。