- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
关闭。这个问题是opinion-based .它目前不接受答案。
想改进这个问题?更新问题,以便 editing this post 提供事实和引用来回答它.
8年前关闭。
Improve this question
您认为在您的项目中使用 Option Infer 的最佳实践是什么?
在 Visual Studio 2008 中,Option Infer 是一个指令,它允许编译器通过查看分配给它的内容来推断已声明变量的数据类型。
这是 VS2008 中的一个关键特性,广泛用于 LINQ 语句和查询。但是,打开 Option Infer 可能会给 future 的维护程序员带来陷阱。
最佳答案
C# 使用的类型推断(因此我认为其他 .net 语言)非常精确(并且非常出色)。编译器仅在类型清晰明确的情况下才允许该语句。因此,结果并不是真正的精度损失......这只是让开发人员不必多次声明类型。您正在减少代码中的重复。
(编辑:另外,重要的是要意识到结果是 仍然是强类型 。编译器知道,在 编译时间 ,变量的确切类型是什么。有 没有 像涉及的变体。如果您输入 var x = 42;
它只是表明 x 是一个 int,因为您在右侧放置了一个 int,从而节省了一些打字和重复)。
future 的维护程序员可能不理解它的唯一原因是他们根本不理解类型推断的语言特性。但我认为期望和要求维护程序员了解语言特性比避免良好的语言特性担心 future 的程序员不知道它们更合理。
我想如果你处于 了解 future 的程序员都是初级的,对语言不是很了解,那么也许你会避免一些事情。但这让我想知道您是否应该考虑其他语言,甚至是像 Access 这样的“平台”,它是“真正的编程”和非程序员可以做一些事情的混合体。
关于vb.net - 最佳实践 : Option Infer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/667851/
我使用 Facebook 的 Infer 检查我的 android 代码 infer -- ./gradlew build after 8 minutes Fatal error: exception
来自 JEP 286 ,我们看到我们将能够在 JDK 10 (18.3) 中利用本地类型推断 (var)。 JEP 声明以下编译,这是预期的: var list = new ArrayList();
我可以拥有 val composeFunction = remember { mutableStateOf ({}) } 我可以拥有 val composeFF = @Composable { Tex
我真的不知道如何解决这个问题(错误:不兼容的类型:推断的类型不符合推断的上限:INT#1 上限:Giocatore[],Parcelable where INT# 1 是交集类型:INT#1 exte
直到今天,在我们将 Visual Studio 2017 更新到最新的 15.3 之后,我们的 UWP 应用程序中的以下代码一直运行良好。 private void Test() { var
我有以下代码,我不明白: type Msg = Left | Right content : Html Msg content = p [] [] p的类型签名: p : List (
类型推断的局限性是什么?哪些类型的系统没有通用的推理算法? 最佳答案 Joe Wells表明系统F的类型推断是不确定的,System F是最基本的多态Lambda演算,由Girard和Reynolds
我在构建时不断收到以下错误 Karma 运行失败:未定义 ERROR [karma]: ReferenceError: Strict mode forbids implicit creation of
在编程语言中,推断类型和动态类型有什么区别?我知道动态类型,但不知道动态类型与推断类型有何不同?有人可以通过一些例子提供解释吗? 最佳答案 推断类型 = 在编译时设置一次。实际上,推断部分只是为了节省
我有一个类: class MyClass{ enum Choices : int { First, Last }; template
考虑下面的类 class SomeBaseClass { ... } 以及以下使用infer关键字的条件类型 type ExtractInner = T extends SomeBaseCla
这个问题在这里已经有了答案: In TypeScript, how to get the keys of an object type whose values are of a given typ
例如,Agda 允许我这样写: open import Data.Vec open import Data.Nat myVec : Vec ℕ _ myVec = 0 ∷ 1 ∷ 2 ∷ 3 ∷ []
我正在使用: $ coqtop -v The Coq Proof Assistant, version 8.4pl5 (February 2015) compiled on Feb 06 2015 1
我知道像 Haskell 这样的语言是静态类型的并且有类型推断。但是是否存在具有全局类型推断的非函数式语言,相当于具有类型推断和结构类型的 C 之类的东西。 最佳答案 OCaml 是我所知道的唯一一种
鉴于: sub abc(Int $n) { say $n } 如果我们将类型为Str的变量传递给abc,则会得到编译时错误: my Str $s = "123"; abc $s; 如果传递包含字符
序言:这是基于@Travis Brown 的 macro based solution复制案例类属性。 鉴于: trait Entity[E def id: Int def withId(i
为什么可以推断闭包表达式的参数类型和返回类型,而不是 Rust 中的函数? 最佳答案 这只是一个设计决定:Rust 使用局部类型推断,而不是全局类型推断。理论上可以进行全局类型推断,但为了便于调试,R
我想使用的类是 System.Web.Mvc.DependencyResolver。以下作品: using System.Web.Mvc; ... var x = DependencyResolver
我声明了以下字典: private readonly Dictionary dictionary; 我有一个导致编译器错误的方法: public IQueryable Find(Func ex
我是一名优秀的程序员,十分优秀!