草庐IT

引用计数

全部标签

c# - 获取在 C# 中转换为动态的数组的计数

考虑这段代码:staticvoidMain(string[]args){varints=newList{10,11,22};Something(ints);//Output:Countis:3Something(newint[10]);//'System.Array'doesnotcontain//adefinitionfor'Count'Console.ReadLine();}staticvoidSomething(ICollectioncollection){dynamicdynamic=collection;Console.WriteLine("Countis:{0}",dyna

引用类型的 C# 7 ref 返回

我正在浏览一些使用C#7的新功能并使用reflocals&returns功能的代码。对于value-types来说,ref局部变量获取引用(对实际存储)并更新原始项的值似乎非常简单。一点解释将有助于理解在reference-types的reflocals情况下内存引用是如何工作的。我指的是下面代码的最后一行://AsimpleclasspublicclassCoolClass{publicstringName{get;set;}publicintId{get;set;}publicCoolClass(stringname,intid)=>(Name,Id)=(name,id);}//D

c# - 如何在 C# 注释中引用类的索引器成员

为了在XML注释/文档中引用类的成员,您必须使用以下标记:更好解释here.如何引用索引器?我的意思是,像这样的成员:internalobjectthis[intindex]{...}提前致谢。 最佳答案 关于c#-如何在C#注释中引用类的索引器成员,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/341118/

python基础-引用赋值与按值赋值

一、引用赋值1、什么是引用赋值?定义了变量a,并且指向了内存中的一个地址,定义变量b时,将a变量的引用赋给b,两个变量指向了同一个内存地址。2、引用赋值,如果使用的是可变类型:会被关联修改。a=[10,20,30]b=aprint(id(a),id(b)):2282000256896,2282000256896b.append(40)print(a):[10,20,30,40]二、按值赋值先要明白一个道理,字符串的驻留机制:仅保存一份相同且不可变字符串的方法,不同的值被存放在字符串的驻留池中,python的驻留机制对相同的字符串只保留一份拷贝,后续创建相同字符串时,不会开辟新空间,而是把该字符

c# - CA2000 将对象引用传递给 C# 中的基本构造函数

当我通过VisualStudio的代码分析实用程序运行某些代码时收到警告,我不确定如何解决。也许这里有人遇到过类似的问题并解决了它,并愿意分享他们的见解。我正在对DataGridView控件中使用的自定义绘制单元格进行编程。代码类似于:publicclassDataGridViewMyCustomColumn:DataGridViewColumn{publicDataGridViewMyCustomColumn():base(newDataGridViewMyCustomCell()){}它会生成以下警告:CA2000:Microsoft.Reliability:在方法“DataGri

c# - 如何访问 WPF Xaml 中的控件引用?

我有一些控件,我将它们的Name属性设置为唯一的名称,但我无法在匹配的C#代码文件中访问它们。我试过:this.ControlNameMainWindow.ControlNameControlName但它确实“看到”了它们。我该怎么做?另外,我是否必须为环绕面板、GridView等内的嵌套控件做一些特殊的事情?编辑:usingSystem;usingSystem.Collections.Generic;usingSystem.Collections.ObjectModel;usingSystem.Linq;usingSystem.Text;usingSystem.Windows;usi

c# - 使用值和引用参数类型重载的方法

我有以下代码:classCalculator{publicintSum(intx,inty){returnx+y;}publicintSum(outintx,outinty){x=y=10;returnx+y;}}classProgram{staticvoidMain(string[]args){intx=10,y=20;Calculatorcalculator=newCalculator();Console.WriteLine(calculator.Sum(x,y));Console.WriteLine(calculator.Sum(outx,outy));}}尽管方法签名仅在out

c# - 使用 EntityFramework.Core 从自引用表加载完整层次结构

解释为什么这个问题不同于:EF-multipleincludestoeagerloadhierarchicaldata.Badpractice?可能的重复是一个基于意见的问题,如果这是一个不好的做法,而我的问题倾向于获得关于如何做的技术解决方案,独立于意见是否是一个好的做法。我将这个决定留给产品所有者、需求工程师、项目经理和想要该功能的客户。给出的答案要么解释了为什么这是一种不好的做法,要么使用了一种对我不起作用的方法(使用Include()和ThenInclude()会产生硬编码深度,而我需要灵活的深度)。在当前项目(.NET核心WebAPI)中,我尝试从自引用表加载层次结构。经过大

c# - 为什么我不能将不同数量的引用传递给一个函数?

我想做这样的事情:doublea,b,c,d,e;ParseAndWrite("{1,2,3}",refa,refb,refc);ParseAndWrite("{4,5}",refd,refe);->a=1,b=2,c=3,d=4,e=5但是,我不能写这样的函数:privatevoidParseAndWrite(stringleInput,paramsrefdouble[]targets){(...)}这行不通,出于某种原因不能同时使用ref和params。为什么会这样?编辑:好的,这里有一些关于我为什么需要这个的更多信息:通过一个接口(interface),我得到了很多包含值的字符串

c# - 为什么作为引用类型的字符串可以是非空常量,而其他引用类型常量必须为空?

据我所知,string是一个引用类型。const可以与reference类型一起使用,只有当它们被分配为null时。我的问题是为什么作为引用类型的string可以赋值为文字字符串(或非空)? 最佳答案 取自const文档:Aconstantexpressionisanexpressionthatcanbefullyevaluatedatcompiletime.Therefore,theonlypossiblevaluesforconstantsofreferencetypesarestringandanullreference.换句