问题标签 [non-nullable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
8266 浏览

wcf - WCF 数据合同 - 强制执行所需值的最佳/最干净的方法?

我有一个 WCF 数据契约,其中包含一堆原始类型的属性,如 int 和 decimal,以及DateTime(当然,它是一个结构)。

我的同事建议让它们都可以为空,然后通过检查是否为空来验证服务端所需的值。我相信部分原因是,由于它是一个可序列化的对象,因此您无法使用数据协定上的构造函数强制执行所需的值 - 它避免了测试默认值的麻烦。

但是,我还希望在合同中隐含所需的属性,以便客户可以了解需要哪些属性。

所以不要做类似的事情,

这将允许我在服务端干净地测试 null,我会这样做:

我的理解是,如果该属性没有被赋值或默认值为 0,这将引发异常——这是所需的行为。这是在客户端强制执行所需属性的最佳实践吗?让所有内容都可以为空并在服务端检查它有什么好处吗?

0 投票
3 回答
579 浏览

c# - 泛型类型函数:返回一个不可为空的值

我写了这个微不足道的效用函数:

目的是避免烦人的任务,例如检查成员是否为空,这在读取 linq 记录集时很常见。问题是它抛出了这个错误:

类型“T”必须是不可为空的值类型,才能将其用作泛型类型或方法“System.Nullable<T>”中的参数“T”

这个错误似乎是合法的,无论如何我希望我能做这样的事情:

代替:

我觉得我缺少一些 c# 基础知识。是否存在完成我的任务的方法?

0 投票
4 回答
1692 浏览

c# - 使用 BinaryWriter 写入 Nullable 值

我想使用以下代码将一个可为空的字符串写入文件BinaryWriter

但发生此错误:

类型“字符串”必须是不可为空的值类型,才能将其用作泛型类型或方法“System.Nullable”中的参数“T”

我怎么解决这个问题?

0 投票
1 回答
1834 浏览

java - Eclipse null 分析:int 类型的表达式需要未经检查的转换才能符合'@Nonnull Integer'

在配置 Eclipse 4.2.0 执行空值分析(配置为使用@javax.annotation.Nonnull等)时,以下代码会产生警告

Null 类型安全:int 类型的表达式需要未经检查的转换才能符合 '@Nonnull Integer'

我应该如何解决这个问题(不使用@SuppressWarnings("null"))?分析器似乎不知道盒装原语不能null

0 投票
2 回答
671 浏览

c# - 为什么整数 == null 在 C# 中是一个有效的布尔表达式?

为什么integer == nullC# 中的有效布尔表达式,如果integer(类型的变量int)不可为空?(我不反对,其实我很喜欢,但我不知道这是可能的)

0 投票
1 回答
339 浏览

c# - 如果您可以创建不可为空的引用类型怎么办?

您是否曾经需要通知任何使用您的代码并传递一些引用类型参数的人不要传递 null?你肯定有。而且您应该为您的代码无法使用的每个“坏”变量抛出异常。

现在,让我们假设您已经创建了这个结构:

这种结构的用法:

您还可以使您的方法接收不可为空的引用类型参数:

在如此有用的与结构相反的情况下可能有什么问题Nullable<>

0 投票
2 回答
687 浏览

java - Eclipse null 类型安全在返回值上是错误的

Eclipse 似乎做错了 analisys ,方法 test1 是好的,但是方法 test2 给出了错误:

Null 类型安全:String 类型的表达式需要未经检查的转换才能符合 @NonNull

0 投票
2 回答
172 浏览

sql - Delete Data from Non-Nullable Column in SQL

Question: I have table with three column, with column names APP_NAME, APP_TYPE and VALUE_TIME.

enter image description here

I would like to edit VALUE_TIME for particular APP_NAME and APP_TYPE. So my query should look like below mentioned if VALUE_TIME column is Nullable. So what would be the best way to delete the data for particular condition ?

Thanks

0 投票
0 回答
579 浏览

c# - 发射映射器“可为空的对象必须有一个值”

我正在使用Emit Mapper将字段从 InternalClass 复制到 ExternalClass。

我使用以下代码将列表转换为列表。

但它给了我"Nullable object must have a value"。我也尝试过覆盖不可为空的属性:

我还尝试使两个类中的类型都可以为空,但没有运气。还有其他想法吗?

0 投票
2 回答
291 浏览

c# - 创建一个不能接收空参数的方法或列表

我有一个node基本上由一个parent属性和一个孩子列表组成的类。有一种AddChild方法不应该接收 null 作为参数。用户不得添加空子。

但该parent属性必须允许空值(根节点的父节点为空)。

问题是“如何禁止用户在 ? 处添加空子项compile-time?”。我知道我可以添加一个NullArgumentException,但这不是我需要的。

另一种方法是创建一个不接受空项目的列表(编译时)。

代码: