c#——转义符"\""

转义符"\""

一、转义符的表示:\

二、转义符的作用:

下面我们看两个例子:

例1:输出ab

namespace ConsoleApplication2 { class Program { static void Main(string[] args) { string s = "ab"; Console.WriteLine(s); Console.ReadKey(); } } }


例2:输出"ab"

namespace ConsoleApplication2 { class Program { static void Main(string[] args) { string s = "\"ab\""; Console.WriteLine(s); Console.ReadKey(); } } }

为什么输出"ab"要用转义符"\""?

因为编译器默认是遇到"开始字符串,再遇到"是结束字符串,但是如果遇到前面有\的"就是不把它当成有字符串起始意义的"。

例3:输出:a\b

namespace ConsoleApplication2 { class Program { static void Main(string[] args) { string s = "a\\b"; Console.WriteLine(s); Console.ReadKey(); } } }

例4:输出:a

namespace ConsoleApplication2 { class Program { static void Main(string[] args) { string s = "a\b"; Console.WriteLine(s); Console.ReadKey(); } } }

例5,输出:\b

namespace ConsoleApplication2 { class Program { static void Main(string[] args) { string s = "\\b"; Console.WriteLine(s); Console.ReadKey(); } } }

例6,输出:c:\temp\1.jpg

static void Main(string[] args) { string s = "c:\\temp\\1.jpg"; Console.WriteLine(s); Console.ReadKey(); }


(二)转义符的作用:换行。

例7,两行输出:

a

b

namespace ConsoleApplication2 { class Program { static void Main(string[] args) { string s = "a\nb"; //n:newline Console.WriteLine(s); Console.ReadKey(); } } }

注意:“\n”在这里相当于换行的作用。

例8,输出:\\

static void Main(string[] args) { string s = "\\\\"; Console.WriteLine(s); Console.ReadKey(); }

例9,输出:\\\\

static void Main(string[] args) { string s = @"\\\\"; //@表示字符串的\不当成转义符 Console.WriteLine(s); Console.ReadKey();

对比例8和例9得出:如果\前加@,那么\不当转义符。

注意1:@只针对转义符有意义,对""没有意义。

如例6(输出:c:\temp\1.jpg)的另一种表示方法:

namespace ConsoleApplication2 { class Program { static void Main(string[] args) { string s = @"c:\temp\1.jpg"; Console.WriteLine(s); Console.ReadKey(); } } }


注意2:转义符只针对在代码中直接写出的字符串,对于程序中读取出来没有这个问题(如例10)。

例10:

String str=Console.ReadLine();

Console.WriteLine(Str);

用户输入a\nb,输出的仍然是a\nb。

### C# 中换行符的使用方法 在 C# 编程语言中,可以通过多种方式实现字符串中的换行操作。以下是几种常见的方法及其应用场景: #### 方法一:直接使用转义序列 `\r\n` 实现换行 C# 支持通过转义序列 `\r\n` 来表示标准的回车换行符。这种方式是最常见也是最简单的实现换行的方式之一。 ```csharp string str = "这是第一行。\r\n这是第二行。"; Console.WriteLine(str); ``` 上述代码将输出两行文字,分别对应 `"\r\n"` 前后的内容[^1]。 --- #### 方法二:利用字符串插值或格式化功能嵌入换行符 除了直接书写 `\r\n` 外,还可以借助字符串插值 `$""` 或者 `String.Format()` 函数来动态构建带有换行符的字符串。 ##### 示例 1:字符串插值 ```csharp int line1Value = 10; int line2Value = 20; string result = $"第一行的数据是 {line1Value}.\r\n第二行的数据是 {line2Value}."; Console.WriteLine(result); ``` ##### 示例 2:使用 String.Format() ```csharp string formattedStr = string.Format("第一部分:{0}\r\n第二部分:{1}", "A", "B"); Console.WriteLine(formattedStr); ``` 这两种方法都可以灵活地组合变量与静态文本,并支持多行输出[^4]。 --- #### 方法三:自动分割字符串并追加换行符 如果希望按照特定长度拆分字符串并在每一部分之间插入换行符,则可编写自定义逻辑完成此需求。例如,下面是一个简单的方法用于按固定宽度切割字符串并加入换行符。 ```csharp public static string AddNewLines(string input, int charsPerLine) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < input.Length; i += charsPerLine) { if ((i + charsPerLine) <= input.Length) sb.AppendLine(input.Substring(i, charsPerLine)); else sb.Append(input.Substring(i)); // Last segment may be shorter than 'charsPerLine' } return sb.ToString(); } // 调用示例 string longText = "这是一个非常长的测试字符串用来演示如何将其分成若干短行."; string wrappedText = AddNewLines(longText, 10); // 每行最多10个字符 Console.WriteLine(wrappedText); ``` 这种方法特别适合处理需要分行显示的大段文字[^3]。 --- #### 方法四:移除现有换行符 当从外部源读取数据时(如文件、数据库字段等),有时会遇到多余的换行符干扰正常展示。此时可以采用正则表达式或者内置替换函数清理这些不必要的控制字符。 ```csharp // 移除所有形式的换行符 (\n,\r,\r\n) string cleanStr = originalStr.Replace("\r", "").Replace("\n", ""); // 或者更简洁的形式 cleanStr = Regex.Replace(originalStr, @"\s+", " "); // 将连续空白替换成单空格 ``` 对于某些特殊场景下保留其他类型的空白而仅删除换行的情况尤为有用[^2]. --- #### 注意事项 需要注意的是,在跨平台开发过程中应当考虑目标操作系统默认的新行约定差异——Windows通常期望看到`\r\n`, Linux/Unix只接受单独的一个`\n`.因此建议根据具体环境调整相应策略. ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值