c# - C#值类型和字符串

这是一个家庭作业问题,这就是为什么它可能有点奇怪(如果标题不是很好,也要道歉)
假设v1是重新定义tostring的x类型的值类型,那么使用console.writeline(v1)和console.writeline(v1.tostring())有什么区别吗?


最佳答案:

最简单的回答是“是的,有区别”。很明显,重要的是你知道这有什么不同。我不会告诉你,但我会告诉你如何调查…
编写一个简短的程序,其中包含所述的自定义值类型,并且在Console.WriteLine(v1)方法中同时包含Console.WriteLine(v1.ToString())Main
编译程序
运行ildasm(或在il模式下运行reflector)并查看方法调用之间的差异
在每种情况下调用哪个方法重载?
在每种情况下,值会发生什么变化?
你可能想考虑的问题,可能会给你额外的学分:
如果使用自定义类而不是结构,有什么区别吗?
你能想出什么方法来设计Console.WriteLine来消除你注意到的任何效率低下的问题吗?

译文:来源   文章分类: c# tostring value-type

相关文章:

c# - 有没有简单的方法来创建方法并在C#中动态设置其主体?

c# - 透明背景下的重叠PicuresBox

c# - 具有自定义WCF 4.5 WebHttpBehavior的UriTemplates

c# - C#:Atkin筛网的实现

c# - 当我从EditText中删除所有内容时,MvvmCross不更新值

c# - SQL Server瞬态异常号

c# - 尽管在调试选项中设置了复选框,Visual Studio Debugger不会在NullReferenceException上中断

c# - 更改程序集名称破坏了我的XAML设计器

c# - DateTime转换失败,无法将字符串识别为有效的DateTime

c# - Google Maps API for C#