在电脑前又是一天,后来脑子也糊里糊涂,可能是基础还不牢固,设置断点,找了找问题才发现数组定义出了问题,

我是这样定义数组的,string[] auths ; string auths=new string[]{} 等等

程序第一次报错,未实例化对象,什么情况这是,我以为是写遍历队列的问题,那个队列声明为全局了,后来值也能传给重新定义的测试string 变量,也没问题啊。

再后来才知道未实例化数组,数组也要实例化,以前觉得可以信手哪来就用,在c#上的托管堆上,没有实例化对象是没法用的。实例化数组

string[] auths = new string[5];  //这样写就没问题了

string[] codes= new string[5] { "", "", "", "", "" };   这个是赋值的写法

第二个问题:

因为我要赋值给数组5个数之后,清空数组。

于是我用了这个写法

auths = null;
codes = null;

结果就是第一个问题解决了之后,又出现了未实例化对象的报错,靠,此时脑袋有点不爱动了,后来才慢慢体会到实例化对象的用处

赋值给null之后,等于释放了内存堆的对象,等于new的对象失效了。两个问题叠加在一起,幻觉出现。编程就是这么有趣,同时

也是枯燥,若值不为空的话,还得考虑一次读取队列中5个值,若队列最后不足5个的时候,数组后几位的值肯定是错的,那程序在结尾肯定会出现问题。

于是开始想若数值不足5个的情况怎么处理。

下边程序作为一个记录吧,提醒自己。改天想想如何添加不足5个的情况,总数取余吗,那我的add里边的有好几个参数没有值咋整,可以在add方法里边判断,我的输出pdf一行画 5个图,还得写一行画四个图,一行3个,一行2个,一行1个的程序啊。

string[] auths = new string[5];
string[] codes= new string[5] ;

foreach (FileContent fc in filecontents)
{

kkk=fc.Cardid;
auths[i] = fc.Cardid.ToString();
codes[i] = fc.Autcode;
++i;
if(i==5)
{
cd.Add(new code(codes[0], codes[1], codes[2], codes[3], codes[4], codes[0], codes[1], codes[2], codes[3], codes[4], auths[0], auths[1], auths[2], auths[3], auths[4]));
i = 0;

}

}

C# 一个数组未赋值引发的错误的更多相关文章

  1. C++为什么不可以把一个数组直接赋值给另一个数组

    今天好奇一个问题, int a[3] = {1,2,3]; int b[3]; b=a; 编译器报错, 网上找了一圈, 大概明白: C++就是如此设定的, 数组不能直接赋值, 可以使用std::cop ...

  2. js在ie6下的一个bug—未结束标签的错误

    在IE6下,如果在body标签没结束前,用代码获取body对象就会出现错误.如: <html> <head> <script type="text/javasc ...

  3. python代码位置引发的错误

    觉得python对代码位置的要求简直是变态,缩进引发的错误我以前在博客里讲过了,如果不懂可以看看我以前的博客,今天又遇到了一个代码位置所引发的错误,现在给大家分享一下: 我想要打印出来一个5*5的实心 ...

  4. Error-ASP.NET:由于未能找到 id 为“FileUpload1$gvFiles$ctl02$lnkBtnRemoveFile”的控件或在回发后将同一 ID 分配给另一个控件,导致发生错误。如果未分配 ID,请显式设置引发回发事件的控件的 ID 属性以避免此错误。

    ylbtech-Error-ASP.NET:由于未能找到 id 为“FileUpload1$gvFiles$ctl02$lnkBtnRemoveFile”的控件或在回发后将同一 ID 分配给另一个控件 ...

  5. javascript中把一个数组的内容全部赋值给另外一个数组

    如:var a = [1,2,3,4];var b= [];b = a;这个不是把值赋值过去而是b作为a的引用,b改变的是a如何b指向的是一个新数组,a把元素值全部赋值过去? 1.普通数组可以使用   ...

  6. div里面的元素垂直均匀分布 按钮引发地址栏出现问号 判断一个数组是否为空 div底部居中 路由传参接受参数

    一个固定高度的div的子元素 在垂直 方向上平均分布 .important-dec{ height: 121px; flex-direction: column; display: flex; jus ...

  7. C#实现如何判断一个数组中是否有重复的元素 返回一个数组升序排列后的位置信息--C#程序举例 求生欲很强的数据库 别跟我谈EF抵抗并发,敢问你到底会不会用EntityFramework

    C#实现如何判断一个数组中是否有重复的元素   如何判断一个数组中是否有重复的元素 实现判断数组中是否包含有重复的元素方法 这里用C#代码给出实例 方法一:可以新建一个hashtable利用hasht ...

  8. IIS不定期Crash和Oracle“未处理的内部错误(-2)”的问题分析

    问题描述:系统不定期报出Oracle“未处理的内部错误(-2)”,严重时IIS会Crash 典型异常日志如下: Exception type:   System.AccessViolationExce ...

  9. [C++程序设计]字符数组的赋值与引用

    只能对字符数组的元素赋值,而不能用赋值语句对整个数组赋值. char c[5]; c={′C′,′h′,′i′,′n′,′a′}; //错误,不能对整个数组一次赋值 c[0]=′C′; c[1]=′h ...

随机推荐

  1. Android DevArt3:SingleTask启动模式探究:首先从MainActivity启动案例入口AActivity,并在A中启动BActivity,从B启动CActivity, 再从C中又启动AActivity, 最后在A中启动B,现在按两次back键,然后回到的是哪个Activity? 答案是,回到MainActivity。

    SingleTask启动模式探究 GitHub如题:首先从MainActivity启动案例入口AActivity,并在A中启动BActivity,从B启动CActivity,再从C中又启动AActiv ...

  2. 10. Lambda表达式.md

    为了简化匿名内部类的代码,具体定义: 例如将9.内部类中的匿名内部类例子: 原来代码: //Main.java public class Main { public static void main( ...

  3. C#转成时间格式

    public static string GetDatetime()        {            System.Globalization.DateTimeFormatInfo myDTF ...

  4. 学JS的心路历程-函式(四)apply、call

    从上一篇可以知道,不同的函式呼叫会造成this的不同,但我们能不能在呼叫时候明确指定呢? 当然可以.会有这个想法是因为往往在执行某支函式时想要用回呼函式(mizumisushi),但发现this总是显 ...

  5. 解决python3.6的UnicodeEncodeError: 'gbk' codec can't encode character '\xbb' in position 28613: illegal multibyte sequence

    这是python3.6的print()函数自身有限制,不能完全打印所有的unicode字符. 主要的是windows下python的默认编码不是'utf-8',改一下python的默认编码成'utf- ...

  6. CircleImageView of Android

    [CircleImageView of Android] github上有一个开源的圆角图片项目.地址:https://github.com/hdodenhof/CircleImageView 使用分 ...

  7. js中的arguments对象

    在Javascript中没有函数重载,而arguments对象弥补了这点不足. js函数的参数是一个数组,在参数个数不固定的情况下,只需要给方法传递不同元素个数的数组即可.即使声明函数时没有形式参数, ...

  8. 【Scheme】符号求导

    思路: 定义一个求导算法, 令其在抽象对象上执行求导操作. 可以由以下规约规则完成: dc/dx=0 dx/dx=1 d(u+v)/dx=du/dx+dv/dx d(uv)/dx=u(dv/dx)+v ...

  9. javaService

    JavaService.exe -install TestService "%JAVA_HOME%\jre\bin\server\jvm.dll" -Djava.class.pat ...

  10. zookeeper报错: org.I0Itec.zkclient.exception.ZkMarshallingError: java.io.EOFException

    zookeeper报错: org.I0Itec.zkclient.exception.ZkMarshallingError: java.io.EOFException 主要因为是没有序列化. 可以使用 ...