c# 字符串数组赋值 未将引用对象设置到对象的实例

我写了这两句:String[]temp2=newString[2];//实例化temp2=sr.ReadLine().Trim().Split('=');为什么第二句报错... 我写了这两句:
String[] temp2 = new String[2];//实例化
temp2 = sr.ReadLine().Trim().Split('=');
为什么第二句报错,未将引用对象实例化?
展开
 我来答
z1h2p31983
2012-09-23 · TA获得超过251个赞
知道小有建树答主
回答量:147
采纳率:0%
帮助的人:155万
展开全部
sr.ReadLine() 一定是这里出了问题,如果读取的数据为空,那么它返回的就是null,后面跟的方法就会出错,这种写法存在一定的安全隐患,必须在前面加一句判断
if (!stirng.IsNullOrEmpty(sr.ReadLine()) {
String[] temp2 = new String[2];//实例化
temp2 = sr.ReadLine().Trim().Split('=');
}
asd28269
2012-09-23 · 超过43用户采纳过TA的回答
知道小有建树答主
回答量:199
采纳率:0%
帮助的人:90.4万
展开全部
....好蠢的错误啊
你声明的是一个数组,temp2是数组的对象
如果你想给整个数组添加引用值就用一个相同的元素长度的数组来给他赋值
如果你只想给某一个元素添加值的话,就需要加元素下标,比如temp2[0]="值1"; temp2[1]="值2"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
无名可用_狂汗
2012-09-24 · TA获得超过3025个赞
知道大有可为答主
回答量:2016
采纳率:0%
帮助的人:1152万
展开全部
你的temp2数组只能存2个东西
而且写法是temp2[0]和temp2[1]
可将temp2理解为数组名,不是变量。
(类似班级,而后面的是座位号)
String[] temp2 = sr.ReadLine().Trim().Split('=');
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式