我每天都使用 Javascript 和 C#,有时在使用 Javascript 时我不得不考虑提升。但是,C# 似乎没有实现提升(我知道),我不知道为什么。它更像是一种设计选择,还是更类似于适用于所有静态类型语言的安全或语言约束?
作为记录,我并不是说我希望它存在于 C# 中。我只是想了解为什么它没有。
编辑:当我在 LINQ 查询之后声明变量时,我注意到了这个问题,但是 LINQ 查询被推迟到变量声明之后。
var results = From c In db.LoanPricingNoFee Where c.LoanTerm == LoanTerm
&& c.LoanAdvance <= UpperLimit Select c
Order By c.LoanInstalment Ascending;
Int LoanTerm = 12;
引发错误,而:
int LoanTerm = 12;
var results = From c In db.LoanPricingNoFee Where c.LoanTerm == LoanTerm
&& c.LoanAdvance <= UpperLimit Select c
Order By c.LoanInstalment Ascending;
才不是。