c# - 为什么我们要使用各种变量类型,如 int、char、string 等,而不仅仅是 c# 中的 var?
问题描述
int x = a number
string y = something
bool z = true or false
var x/y/z = anything
当我们可以使用 var 时,为什么还要使用所有这些类型,它的工作原理是一样的。我在某处读过它使读者更容易理解代码?但我不明白!对你所写的功能进行编程不是重点吗?我的意思是,只要我的代码有效,谁会在乎我的代码是否难以阅读……那么在代码的功能方面,它有什么不同吗?我强调我不在乎别人不理解我写的东西!
PS:我开始学习编程已经快一个月了,c#是我的首选语言;所以,如果我的问题对有经验的人来说很愚蠢,请原谅。
PS 2:正如我所说,我搜索了答案,并没有从功能的角度找到任何东西。
解决方案
var 关键字使用类型推断。这意味着编译器使用您分配给变量的值来识别您要使用的类型。当编译器编译代码时,var name = "xxx"
将转换为string name = "xxx"
.
我个人更喜欢使用 var 而不是类型,因为恕我直言,它使代码更具可读性。特别是在您创建具有长名称的类的新实例的情况下。
// variable declaration with c#
List<Donaudampfschiffahrtskapitaen> myList = new List<Donaudampfschiffahrtskapitaen>();
// alternative variable declaration starting with c# 3
var myListCs3 = new List<Donaudampfschiffahrtskapitaen>();
// alternative variable declaration starting with c# 9
List<Donaudampfschiffahrtskapitaen> myListCs9 = new();
推荐阅读
- amazon-s3 - 如何使用用户上传的文件更新 .RDS 文件并将其存储在 Shiny(服务器)中以备下次使用?
- mongodb - Elasticsearch,MongoDb,Mongoosastic 查询对象数组
- oracle - 我无法在 oracle 11 g 中添加地理类型的列
- tensorflow - 无法使用 get_tensor_by_name 恢复 Dropout
- node.js - API Gateway 随机切换响应从 403 到 404
- laravel - 是否有可能我创建帖子并且还想在 laravel 中创建后重定向到同一个帖子
- rdf - 子类而不是实例的 RDF 属性的域和范围?
- if-statement - 如何在带有条件的 Kibana 中为“发现”工具创建过滤器?
- installation - 微软服务管理自动化
- python - 无法使用现有规则在新列中创建标签