C#不报错直接终止运行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#不报错直接终止运行相关的知识,希望对你有一定的参考价值。

没有了那个黄条显示错误了,直接推出了程序,这个截图是我用同学的做的,希望能得到解答,谢谢!
这只是一个例子,说明我的程序调试的时候没有了那个错误提示,不是问错在哪里了,谢谢大家的关注,期待强人帮我

参考技术A 1,2,3,4,5 只有5个数吧
对应为a[0],a[1],a[2],a[3],a[4].
所在当i=5时,当然会出错了

改成以下就不会出错了
for(int i=0; i<5; i++)

Console.Write(arr[i] + "\t");
参考技术B try

//可能错误的那些代码些在这个里面

catch()

//要终止什么东西的代码写在这里,如果不终止什么 这里可以不写,程序不会报错,会一直走下去
本回答被提问者和网友采纳
参考技术C 。。。设置断点 在你的代码前面的白条那双击两下就可以了
然后在选项 工具 调试运行
参考技术D 选项 工具 调试,看里面的选项设置正确不

c# 如果一个对象的值为null,那么它调用扩展方法时为甚么不报错

如果一个对象的值为null,那么它调用扩展方法时会报错吗?

Person p = null ;
p.ExtendMethod();

上述代码出现的情况不会报错,刚开始遇到这种情况时很纳闷,就去问了大牛。大牛解释如下:

扩展函数其实只是为了让代码更具有可读性, 但最终在clr中会翻译成标准的静态函数调用,  

比如:  

public static void ExtMethod(this string str) 
{
    if(!string.IsNullOrEmpty(str))
    {
         //对str处理      
    }    
}

 调用  "string".ExtMethod()最终会翻译成ExtMethod("string"); 所以即使为null自然也不会报错

 

null 为什么点不出那个扩展函数?


  通过null获取它自己的方法如下:

 

 

  

  这样试试 ((string)null).ExtMethod() 肯定能点出来 

  

   关键是使用扩展函数要看对应的数据类型。

 

以上是关于C#不报错直接终止运行的主要内容,如果未能解决你的问题,请参考以下文章

vue中子组件直接修改props,不报错

指针赋值,报错

eclipse中安装并配置好TOMCAT后,点击启动按钮没有任何反应,也不报错 是啥问题

pcb里面如果想让重叠的两个元件不报错怎么设置?!

c# 如果一个对象的值为null,那么它调用扩展方法时为甚么不报错

sqlserver服务器名称有斜杠(\)怎么输入到C#工具里不报错