本文实例分析了C#引用类型作为方法的参数。分享给大家供大家参考。具体如下:

在c#或java中,参数传递都是传递的参数本身的值,
对于值类型,传递的是值本身。
对于引用类型,定义引用类型变量的时候,一个是在栈中的变量,存储的是一个指针,指向在堆中分配的对象实例的地址,当然,如果对象没有实例化,给null值的时候例外。
传递引用类型变量的时候,传递的也是值,
但它的值是内存地址,地址指定堆中的对象。
所以当我们在方法中改变对象内容的时候,我们外围 的引用类型变量操作的对象也发生了变化,因为他们指向的是同一个。
但是如果我们在操作的方法中对 对象进行了新的实例化,则就会在堆中新生成一个对象,和原来的就是两个不同的对象了,在操作的方法结束,这个对象如果没有特别处理,就没有变量指向它了,它就会被销毁。
示例:
复制代码 代码如下:new Thread(() =>
{
try
{
StringBuilder sb = null;
//addline(ref sb);
addline(sb);
rtb_log.InvokeIfRequired(()=> rtb_log.AppendText(sb.ToString()+"\r\n"));
}
catch (Exception ex)
{
rtb_log.InvokeIfRequired(() => rtb_log.AppendText(ex.Message + "\r\n"));
}
finally { if (conn != null && conn.State == ConnectionState.Open) conn.Close(); }
}).Start();
void addline( StringBuilder sb)
{
if (sb == null) sb = new StringBuilder();
sb.Append("hello world!");
}
调用时会发生 对象空引用的异常。
原因是因为在方法中进行了对象的初始化,但是外围的sb和方法中的sb是两个不同的变量,在方法中分配了对象实例后,外围 的sb指定的还是null.
如果想解除这个异常,有几个方法,第一个是对对象进行有效初始化,不要置为null值,如果这里可以直接new StringBuilder()。不要在方法内部再实例化。第二个是如果对象在外围无法初始化,像接口对象,需要延迟到方法中进行初始化的,可以使用返回值的方式或者是ref参数的方法。
例如:
复制代码 代码如下:void addline(ref StringBuilder sbx)
{
if (sbx == null) sbx = new StringBuilder();
sbx.Append("hello world!");
}
或者
复制代码 代码如下:StringBuilder addline2(StringBuilder sbx)
{
if (sbx == null) sbx = new StringBuilder();
sbx.Append("hello world!");
return sbx;
}
希望本文所述对大家的C#程序设计有所帮助。
相关推荐:
撰写稿子的AI,写作的“超级助手”来了!
SEO指:如何通过精准优化提高网站流量和转化率,无锡论坛营销推广要多久
SEO广告:如何借助SEO提升品牌曝光与销售业绩?,网站推广怎么选择
文章AI生成:让创作变得更简单、更高效!
怎样利用AI写文章,轻松提升写作效率
AI免费试用不需要登录:体验智能科技的魅力,轻松开启未来,华为ai身材
自动写文章的AI,提升效率的创作利器
ChatGPT中文版下载,开启智能对话新体验,婚纱ai男
SEO优化的利器:提升网站排名的秘密武器,联想ai7g-3笔记本
ChatGPT发生故障,背后隐藏着哪些不为人知的原因与挑战?,硬件ai和软件ai
SEO分类中内部优化的有:让你的网站脱颖而出!,by ai
SEO优化如何提升网站排名,驾驭搜索引擎流量,三亚网站推广方法
ChatGPTWindows版本:让AI助手成为你的工作与生活得力助手,Ai相减变形
SEO优化关键技巧:提升网站排名的实战攻略,科大讯飞ai论文写作软件
AI免费生成文字,打造创作新时代
AI免费文章解读:智能写作新篇章,小店AI
智能AI生成文章释放创作新可能
seo资源是什么意思,seo资源怎么打开 ,梅州ai自动插件加工
SEO到底怎么做?揭秘从零到精通的完整SEO优化攻略,鸟瞰ai
好用的AI写作软件免费推荐:创作新境界!
AI人物生成:重新定义虚拟形象创作的未来
seo需要会什么技术呢,seo需要会什么技术呢知乎 ,红色框ai
ChatGPT昨晚突然不能使用,背后真相令人意想不到!,edga ai
SEO要不,来看看如何通过SEO优化提高网站流量和曝光度,seo 获客技巧
为什么网站要做seo,网站做seo的目的是什么 ,ai初选
SEO获客的秘诀:如何通过搜索引擎优化提升客户获取能力,厦门seo搜索优化排名
怎么让AI润色文章,让写作更轻松?
怎样用AI写文章?快速高效创作新技能!
怎么用AI写出高质量科普文章?揭秘新时代创作利器!
SEO领站-从零到一打造成功网站排名的秘密,轻淘客seo怎设置
chatai写作免费一键生成,轻松解决写作难题!,陈逗逗ai换脸在线看
GPT版本全解:从基础到高级,如何选择最适合你的方案?,韩国ai人工智能
为什么选择收录网站是企业在线营销的必备策略,全网营销与推广
优化百:开启数字时代的智能营销新时代,湘潭seo优化报价表
SEO百度优化:让你的品牌在搜索引擎中脱颖而出,日照网站推广策划
一键创作,助你轻松实现创意梦想,最低价刷粉网站推广
SEO搜索关键词是什么意思?全方位解析关键词优化的核心要素,lol ai图片
ChatGPT服务异常:为何影响到你的工作和生活?如何有效解决?,ai怎么保持圆角不变
整理文章的AI:提升写作效率的智能助手
ChatGPT手机下载后打不开?可能是这些问题导致的,解决方法在这里!,孤城ai动画
SEO定价策略:如何根据企业需求定制最佳价格方案,教育培训抖音营销推广
SEO阶段解析:从入门到精通,助你站稳搜索引擎的前沿,网站建设特定开发
AI免费文章生成器:轻松创作高质量内容的终极工具
seo相当于什么职业,seo相当于什么职业类别 ,usatisfy ai
SEO和品牌营销:如何通过搜索引擎优化打造品牌影响力,建邺seo软件
SEO量:提升网站流量和排名的关键法则,德兴seo
seo深度优化插件是什么,深度优化手机软件 ,ai的缩写
SEO可以改变你的商业未来:如何通过优化提升网站流量和转化率,五粮液营销推广
seo适合什么人做,哪种seo做得好 ,晋城ai论文写作免费
ChatGPT最近不好用了?了解这些背后的原因与解决方案,ai sketcher