求救! "常量中有换行符"的问题,急,谢谢.

chaohi 2009-02-02 09:14:18

出错代码:

string[] a = oldpath.Split("\"); // 注:oldpath是一字符串.
错误信息:在"\"处 常量中有换行符!

如果换个写法:
string[] a = oldpath.Split('\'); // 注:oldpath是一字符串.
错误信息:在'\'处 字符文本中的字符太多!


请教一下大家:这个问题该怎么解决呀 ? 谢了!
...全文
1157 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
chaohi 2009-02-02
  • 打赏
  • 举报
回复

谢谢谢谢诸位了!

现在结帖, 人多, 积分分配不易,如有不公平,大家海涵.
yijianxiangde100 2009-02-02
  • 打赏
  • 举报
回复
返回的字符串数组包含此实例中的子字符串(由指定 Unicode 字符数组的元素分隔)。

C#
public string[] Split(
char[] separator
)

using System;

public class SplitTest {
public static void Main() {

string words = "this is a list of words, with: a bit of punctuation.";

string [] split = words.Split(new Char [] {' ', ',', '.', ':'});

foreach (string s in split) {

if (s.Trim() != "")
Console.WriteLine(s);
}
}
}
wuyi8808 2009-02-02
  • 打赏
  • 举报
回复
[Quote=引用楼主 chaohi 的帖子:]
出错代码:

string[] a = oldpath.Split("\"); // 注:oldpath是一字符串.
错误信息:在"\"处 常量中有换行符!
[/Quote]


Split("\");

C# 的字符串中的 \" 表示双引号本身,而C#中的普通字符串(不是@"..."这种字符串)是不能跨行的,所以期待另外一个 " 来结束这个字符串,结果意外地遇到了换行符,所以编译器给出错误信息:
“常量中有换行符”。
wuyi8808 2009-02-02
  • 打赏
  • 举报
回复
如果这样:Split('\'),那么编译器认为 ' 后面的 \' 是单引号字符,期待另一个 ' 来结束这个单引号字符,而这时候遇到了不期待的后括号 ) ,所以给出错误信息:
“字符文本中的字符太多”。
wuyi8808 2009-02-02
  • 打赏
  • 举报
回复
在 C# 中,'\\' 表示反斜线字符, '\'' 表示单引号字符, '\t' 表示Tab字符, 等等。

如果这样:Split('\'),那么编译器认为 ' 后面的 \' 是单引号字符,期待另一个 ' 来结束这个单引号字符,所以给出错误信息:
“字符文本中的字符太多”。
C_sdnElf 2009-02-02
  • 打赏
  • 举报
回复
\\
zlb789 2009-02-02
  • 打赏
  • 举报
回复
'\\' 转义
shaofei830927 2009-02-02
  • 打赏
  • 举报
回复
首先Split(string); 是不对的 没有这个重载
其次 \ 是要转义的 不管是常量的还是Split('\\') ,常量是字符串,的话可以@"str1\str2\str3\str4" 前面加用@符号,整体转义
我姓区不姓区 2009-02-02
  • 打赏
  • 举报
回复
转义字符是一种特殊的字符常量。转义字符以反斜线"\"开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。例如,“\n”就是一个转义字符,其意义是“回车换行”。转义字符主要用来表示那些用一般字符不便于表示的控制代码。
 常用的转义字符及其含义

转义字符 转义字符的意义
\n   回车换行
\t 横向跳到下一制表位置
\v 竖向跳格
\b 退格
\r 回车
\f  走纸换页
\\ 反斜线符"\"
\' 单引号符
\a 鸣铃
\ddd 1~3位八进制数所代表的字符
\xhh 1~2位十六进制数所代表的字符
广义地讲,字符集中的任何一个字符均可用转义字符来表示。\ddd和\xhh正是为此而提出的。ddd和hh分别为八进制和十六进制的ASCII代码。如\101表示字?quot;A" ,\102表示字母"B",\134表示反斜线,\XOA表示换行等。转义字符的使用。
杏鲍菇 2009-02-02
  • 打赏
  • 举报
回复
转义
chaohi 2009-02-02
  • 打赏
  • 举报
回复

string[] a = oldpath.Split('\\'); ? 这样?

转义是什么意思呀? 我去试验一下先.

先谢谢两位仗义出手!
优途科技 2009-02-02
  • 打赏
  • 举报
回复
替换了。
我姓区不姓区 2009-02-02
  • 打赏
  • 举报
回复
string[] a = oldpath.Split('\\');
记得要转义

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧