C# 未将对象引用设置到对象的实例

[复制链接]
查看11 | 回复4 | 2011-4-15 10:26:37 | 显示全部楼层 |阅读模式
sw.Write(武将姓名[m].PadRight(6));
把 .PadRight(6) 去掉正常,加上就报错

回复

使用道具 举报

千问 | 2011-4-15 10:26:37 | 显示全部楼层
武将姓名[m] 为null了。为null的对象可以 write 出来,但是一旦调用它的属性和方法就会报错。就是这样。你可以仿照gaoquanjie 的方式加个判断,或者强化一下前面的逻辑,武将姓名[m] 先取得 武将姓名 的长度,再根据长度来判断是不是越界了。
回复

使用道具 举报

千问 | 2011-4-15 10:26:37 | 显示全部楼层
PadRight方法应该有两个参数吧,第一个是数字,第二个是字符如PadRight(6,'K') 表示如果整个字符串的长度不足6位则在右边补充 字符K,直到整个字符串长度达到6位
回复

使用道具 举报

千问 | 2011-4-15 10:26:37 | 显示全部楼层
武将姓名[m] .PadRight(6) 不存在,引用前要确保它存在
回复

使用道具 举报

千问 | 2011-4-15 10:26:37 | 显示全部楼层
if(武将姓名!=null && 武将姓名.count>0&& 武将姓名.padright!=null ){
sw.Write(武将姓名[m].PadRight(6));}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行