C#中关于字符串的操作

来源:百度知道 编辑:UC知道 时间:2024/06/17 03:13:15
string path="D:\";
if(path.Substring(path.Length-1)!=@"\")
path+=@"\";
strin myPath;
foreach(string dir in Directory.GetDirectories(path)){
myPath=dir.Substring(dir.LastIndexOf(@"\")+1);
}
请教以下问题:
1、@"\" 这是什么意思,表示什么?
2、myPath=dir.Substring(dir.LastIndexOf(@"\")+1); 这行代码怎么理解?是不是取dir从0到最后的所有字符?
如果是,为何不直接写成myPath=dir?
在线等!
string txt="@C:\";
string txt2=txt.substring(txt.lenght-1);
请问 txt2是多少

1.@ 是对字符串不进行转辑的意思.比如"\n"你知道是换行吧.如果是@"\n"的话.就保持原样的"\n".而不转辑为转行.

2.myPath=dir.Substring(dir.LastIndexOf(@"\")+1); 就是说字符串myPath的值等于字符串dir从最后一个"\"处开始截取后所得的子字符串.
如: dir="c:\aaa\bbb\ccc.gif";那么执行语句后.myPath的值是:ccc.gif

3.txt2="\";

----------------------------

你的string txt="@C:\"; 写法是错误的.如果你是想不转辑.那就把@写到引号外面来.

1、用@表示其中的"\"这个转义字符不被系统认为是转义字符,而可以直接输出,这句话的意思就是判断路径的最后一个字符是不是"\".
2、myPath=dir.Substring(dir.LastIndexOf(@"\")+1); 这个是取从路径文本串中最后一个"\"后的文本串。
3、string txt="@C:\";
string txt2=txt.substring(txt.lenght-1);
----------
这是不是写错了,应该是
string txt=@"C:\";
string txt2=txt.substring(txt.length-1); 吧

如果是这个的话,txt2的值是\

1.@,表示转义字符,和"//"是一个意思.
2.dir.lastindexof(@"\"