关于字符串数组的一个疑惑,忘解答,,

wss541623 2012-03-31 01:33:18
如题,现在我有几行代码是这样的,

string file = Request["XXX"] == null ? "" : Request["XXX"];
string[] filePath = (file.IndexOf(',') > -1) ? file.Split(',') : {file};

这样就会报错,
但是我改成下面这样就不会出错

string file = Request["XXX"] == null ? "" : Request["XXX"];
string[] test = { file };
string[] filePath = (file.IndexOf(',') > -1) ? file.Split(',') : test;

请问这是什么原因,,求解答,,谢谢。
...全文
77 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
wss541623 2012-03-31
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

引用 4 楼 的回复:

你说得不对哦.


只是后面的数组声明,感觉不大正确.


高手,你说string怎么赋值给string[]?
string[] filePath = (file.IndexOf(',') > -1) ? file.Split(',') : test;
string[] = bool ? string[]: string ;
[/Quote]
嗯,是的,后面我定义成{file}的本意是想把string转成数组,string[] = bool ? string[]: string[] ;这样的,但是直接用{file}会报错,我不知道为什么,现在知道,原来是类型没有匹配,这个并没有转成string[],谢谢你的悉心回答,,感谢。。
tiangong789 2012-03-31
  • 打赏
  • 举报
回复
确实 人家孟子回答的是报错的那种形式下直接把{file}改成 new string[] {file}。。这样应该对的。。原来错误是因为没有实例化 相当于没有匹配类型
cheng2005 2012-03-31
  • 打赏
  • 举报
回复
楼主你真的知道自己错在哪里了吗??

自己看看6楼吧,我真懒得说了。
wss541623 2012-03-31
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

引用 5 楼 的回复:

引用 1 楼 的回复:
可以改成
new String[]{file};


第一种.改如此试试看.

高手,顺便再告诉你一下,
string[] test = { file };
这个一点错误都没有。
[/Quote]

这位哥,感谢你的回答,不过你可能没有看清楚我的问题,string[] test = { file };这个确实是没错误的,报错的那里也并不是把string赋值给string[],用孟子E章的果然可以,感谢2楼说出原因,谢谢,马上结贴。。
cheng2005 2012-03-31
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

引用 1 楼 的回复:
可以改成
new String[]{file};


第一种.改如此试试看.
[/Quote]
高手,顺便再告诉你一下,
string[] test = { file };
这个一点错误都没有。
cheng2005 2012-03-31
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

你说得不对哦.


只是后面的数组声明,感觉不大正确.
[/Quote]

高手,你说string怎么赋值给string[]?
string[] filePath = (file.IndexOf(',') > -1) ? file.Split(',') : test;
string[] = bool ? string[]: string ;
Ny-6000 2012-03-31
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
可以改成
new String[]{file};
[/Quote]

第一种.改如此试试看.
Ny-6000 2012-03-31
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
= 赋值号左边是 string[] 右边是string,你让人家怎么赋值呢?
[/Quote]

你说得不对哦.


只是后面的数组声明,感觉不大正确.
cheng2005 2012-03-31
  • 打赏
  • 举报
回复
= 赋值号左边是 string[] 右边是string,你让人家怎么赋值呢?
bdmh 2012-03-31
  • 打赏
  • 举报
回复
string[] test = { file };
这属于初始化,可以这样,报错的那个属于=号赋值,不可以类型不一致
孟子E章 2012-03-31
  • 打赏
  • 举报
回复
可以改成
new String[]{file};

110,533

社区成员

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

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

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