小编Kan*_*Heo的帖子

C#"var"和C++"auto"之间的差异

我现在正在学习C++,因为我需要编写一些低级程序.

当我了解"auto"关键字时,它会从C#中提醒我"var"关键字.

那么,C#"var"和C++"auto"的区别是什么?

c# c++ var auto

21
推荐指数
3
解决办法
1万
查看次数

C#中"方法"本身的类型是什么?

我听说C#是一种纯粹的面向对象的编程语言,因为所有的东西都源于System.Object.

所以我怀疑方法本身的类型是什么.我尝试使用StackTraceStackFrame获取方法的类型,但我得到了类的名称,声明了哪些方法.

当然,我试过这个:

var func = new TestClass().TestMethod; //TestMethod is a method of TestClass
Run Code Online (Sandbox Code Playgroud)

但是我只得到了这个错误.

CS0815    Cannot assign method group to an implicitly-typed variable 
Run Code Online (Sandbox Code Playgroud)

可以将方法分配给Func<..., TResult>类型变量.我用Func和返回字符串的方法测试,然后我得到了这个:

// Result of
// Func<string> func = new TestClass().TestMethod;
// func.GetType();
Instance TestClass -> TestMethod Type : System.Func`1[System.String]
Run Code Online (Sandbox Code Playgroud)

但它是一个类型名称Func<string>.那么,方法的真正类型名称是什么?

编辑2018年2月10日上午01:46,KST(GMT +09:00)

好吧,让我总结一下.函数本身没有类型,也不是对象,并且Delegate/ Func<>是.NET Framework的一个功能,它将函数作为一等公民处理(但它不是FCC).这是对的吗?

c# types

2
推荐指数
1
解决办法
119
查看次数

标签 统计

c# ×2

auto ×1

c++ ×1

types ×1

var ×1