int[] ss = new int[8];
我试了试,没有被赋值的话数组里所有的8个数都是0,
if(ss[0]==0&&ss[1]==0.......&&ss[7]==0)
{
就是没赋值过
}
有没有其他好些的方法
我试了试,没有被赋值的话数组里所有的8个数都是0,
if(ss[0]==0&&ss[1]==0.......&&ss[7]==0)
{
就是没赋值过
}
有没有其他好些的方法
解决方案 »
- c#实现浮动窗口,像迅雷看看那样 如下图
- 关于System.Reflection.PropertyInfo 的setvalue,如果属性是集合类型,应如何赋值?
- 如果用C#获得由NAT设备内网主机的公网IP地址?
- XmlTextReader中保存的XML文档如何保存到一个xml文件中?谢谢
- 清问:process类的close()和closeMainWindow()有什么区别?
- WPF 绘制文本的问题
- "高难度" 程序在运行时修改按钮、标签的文本
- 请问怎样取服务器时间呀?(c#)
- text 字符限定问题,在线等!!!
- 请问各位有没有什么好的FTP下载地址。请大家报一报共享一下如何?
- 倾荡所有分数跪求此问题!如梦,加菲猫,SOS
- 截取字符串,得到截取字符串后面的部分
{
}
Length==0
int[] ss = new int[8];
if (ss.Length==0)
Console.WriteLine(ss.Length);
我试了 这样是没用的
1、把数组的值初始化成不太可能会碰到的组合,例如全是0,或全是-1,或者全是int.MinValue,或者一部分是int.MinValue一部分是int.MaxValue。
2、使用可空的值类型数组,int?[]。如果数组的每一个元素值的HasValue属性都为false,可以认为数组没有被赋值。不过这种方法在使用起来会比较不方便。
3、用一个类型来封装这个数组,除了提供原来数组的基本功能以外,再设置一个是否已经赋值的标志。相比之下,这个方法应该是最靠谱的,只是实现起来会有点繁琐。
for(int i=0;i<ss.Length;i++)
{
if(ss[i]!=0)
{
//赋过了
break;
}
}//这是vs2008+,.net3+的写法,就是找出不等于0的总数,如果大数据量的话还是上面的好用
if (ss.Count(s => s != 0) > 0)
{
}
{
if(i==null){}
}
bool new_array = !a.Any(i => i != 0);
Console.WriteLine(new_array);
a[1] = 1;
new_array = !a.Any(i => i != 0);
Console.WriteLine(new_array);