两个字符串相加 string FilePath="E:\\FolderClient\\";string FileName="adow.htm";string AllFileName=FilePath+FileName;结果是:@"E:\FolderClient\adow.htm" 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没有报错。我有一个函数private int FileTransfer(string FileName,string FilePath)当我直接调用FileTransfer("adow.htm","E:\\FolderClient")时一切都正常,里面的的FileName+FilePath也是对的。可是当我在另一个函数中调用时,这两个参数是从网络上传来的(FileName,FilePath),调用这个函数时,里面相加就出错了,也没有转义 改成用StringBuilder.Append()试试看吧! 我发现是传过来的。我在函数里把值输出来看到FileName="adow.htm"FilePath="E:\\FolderClient",居然是两个“\\"相加是只有"E:\\FolderClient", 我试了一下:using System;class test {public static int Main() { string FilePath="E:\\FolderClient\\";string FileName="adow.htm";string AllFileName=FilePath+FileName; Console.WriteLine("你刚刚输入[{0}]",AllFileName);return 0; }}运行结果是:你刚刚输入[E:\FolderClient\adow.htm]我想我我的意思和楼主一样的对不?但是我不明白你那里会有问题呢? string AllFileName=FilePath+@FileName;你看看@的作用 private void button1_Click(object sender, System.EventArgs e) { string FilePath="E:\\FolderClient\\"; string FileName="adow.htm"; string AllFileName=FilePath+FileName; label1.Text=AllFileName; }我的输出结果是 E:\FolderClient\adow.htm对的呀 问题就出在了你是远程调用上了,比如你如果用了System.Runtime.Remoting,你的string是一个按地址引用值的变量,而你的在远程是不能得到远程的那个变量的地址的,就是得到了也不是本机的也不能使用,所以你可以用System.Text.StringBuilder来试试,把那个字符串当成一个值来用,而不是按"地址"来用. string FilePath=@"E:\\FolderClient\\";string FileName="adow.htm";string AllFileName=FilePath+FileName;这样写就可以了. 我想我发现问题所在了。我的接收变量是通过byte[] BfXFilePathWeb=new byte[255];byte[] BfXFileNameWeb=new byte[255];string StrXFilePathWeb=Encoding.ASCII.GetString(BfXFilePathWeb);string StrXFileNameWeb=Encoding.ASCII.GetString(BfXFileNameWeb);好象是StrXFilePathWeb,StrXFileNameWeb中还有好多'\0',但他们的长度是8和15,我通过对他们分别Trim(new char[] {'\0'})之后是取到了正确的值,但是两个'\\'问题还是没变,不过可以相加了。 如何实现 .NET怎么把数据存在XML里 指点一个正则表达式,得到括号内容。 怎么识别验证码?????????? 想写一个add-ins,请求一个sample Gridview中,点“编辑”时,让性别cell变成dropdownlist,可选择男女,如何实现? c# winform中 datagridview的RowHeaderMouseClick事件问题!! c# 加载XML文件到ArrayList动态数组中 字段的唯一性判断(在线等待) 怎样用c#在html页面里实现画图的功能?不是利用Graphics画图后生成jpg图像! -=来看看!=- 散分,不知不觉升到了五个三角!
当我直接调用FileTransfer("adow.htm","E:\\FolderClient")时一切都正常,里面的的FileName+FilePath也是对的。
可是当我在另一个函数中调用时,这两个参数是从网络上传来的(FileName,FilePath),调用这个函数时,里面相加就出错了,也没有转义
FileName="adow.htm"
FilePath="E:\\FolderClient",居然是两个“\\"
相加是只有"E:\\FolderClient",
using System;
class test {
public static int Main() {
string FilePath="E:\\FolderClient\\";
string FileName="adow.htm";string AllFileName=FilePath+FileName;
Console.WriteLine("你刚刚输入[{0}]",AllFileName);
return 0;
}
}
运行结果是:你刚刚输入[E:\FolderClient\adow.htm]
我想我我的意思和楼主一样的对不?但是我不明白你那里会有问题呢?
{
string FilePath="E:\\FolderClient\\";
string FileName="adow.htm";
string AllFileName=FilePath+FileName;
label1.Text=AllFileName;
}
我的输出结果是 E:\FolderClient\adow.htm对的呀
string FileName="adow.htm";
string AllFileName=FilePath+FileName;这样写就可以了.
byte[] BfXFilePathWeb=new byte[255];
byte[] BfXFileNameWeb=new byte[255];
string StrXFilePathWeb=Encoding.ASCII.GetString(BfXFilePathWeb);
string StrXFileNameWeb=Encoding.ASCII.GetString(BfXFileNameWeb);
好象是StrXFilePathWeb,StrXFileNameWeb中还有好多'\0',但他们的长度是8和15,
我通过对他们分别Trim(new char[] {'\0'})之后是取到了正确的值,但是两个'\\'问题还是没变,不过可以相加了。