标签: nullable

可空属性到实体字段,实体框架通过Code First

Required像这样使用数据注释:

[Required]
public int somefield {get; set;}
Run Code Online (Sandbox Code Playgroud)

somefield设置为Not Null数据库,如何设置某个字段 以允许NULL?,我尝试通过SQL Server Management Studio设置它,但实体框架将其设置回Not Null.

entity-framework nullable code-first asp.net-mvc-3

65
推荐指数
3
解决办法
12万
查看次数

如何在java中编写nullable int?

我想将Web表单转换为Java中的模型.

在C#中我可以这样写:

<input name="id" value="" type="text"/>


public class Test
{
    public int? Id{get;set;}
}
Run Code Online (Sandbox Code Playgroud)

id可以为空.

但是在Java中使用struts2时会引发异常:

Method "setId" failed
Run Code Online (Sandbox Code Playgroud)

那么如何用Java编写这个案例呢?

c# java nullable

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

Java检查boolean是否为null

如何检查布尔值是否为空?所以,如果我知道"hideInNav"为空.如何阻止它进一步执行?像下面的东西似乎不起作用,但为什么?

boolean hideInNav = parent.getProperties().get("hideInNav", false);
String hideNavigation = hideInNav != null ? hideInNav : "";
Run Code Online (Sandbox Code Playgroud)

java performance boolean nullable

62
推荐指数
5
解决办法
15万
查看次数

试着去理解?C#中的(null-conditional)运算符

我有一个非常简单的例子:

class Program
{
    class A
    {
        public bool B;
    }

    static void Main()
    {
        System.Collections.ArrayList list = null;

        if (list?.Count > 0)
        {
            System.Console.WriteLine("Contains elements");
        }

        A a = null;

        if (a?.B)
        {
            System.Console.WriteLine("Is initialized");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

if (list?.Count > 0)编译完美,这意味着如果listnull,表达式Count > 0变为false默认.

但是,该行if (a?.B)抛出编译器错误,表示我无法隐式转换bool?bool.

为什么一个人与另一个人不同?

c# nullable roslyn c#-6.0 null-conditional-operator

62
推荐指数
2
解决办法
5760
查看次数

从int中提升/可空转换的严重错误,允许从十进制转换

我认为这个问题会让我在Stack Overflow上立刻成名.

假设您有以下类型:

// represents a decimal number with at most two decimal places after the period
struct NumberFixedPoint2
{
    decimal number;

    // an integer has no fractional part; can convert to this type
    public static implicit operator NumberFixedPoint2(int integer)
    {
        return new NumberFixedPoint2 { number = integer };
    }

    // this type is a decimal number; can convert to System.Decimal
    public static implicit operator decimal(NumberFixedPoint2 nfp2)
    {
        return nfp2.number;
    }

    /* will add more nice members later */
} …
Run Code Online (Sandbox Code Playgroud)

.net c# nullable compiler-bug implicit-conversion

59
推荐指数
2
解决办法
2857
查看次数

使用Nullable <value>类型的条件运算符赋值?

EmployeeNumber =
string.IsNullOrEmpty(employeeNumberTextBox.Text)
    ? null
    : Convert.ToInt32(employeeNumberTextBox.Text),
Run Code Online (Sandbox Code Playgroud)

我经常发现自己想要做这样的事情(EmployeeNumberNullable<int>因为它是在LINQ到SQL的DBML对象,其中列允许NULL值的属性).不幸的是,编译器认为"'null'和'int'之间没有隐式转换",即使这两种类型在对自己的可空int的赋值操作中都是有效的.

由于内联转换需要在.Text字符串上发生(如果它不为空),因此Null合并运算符不是我能看到的选项.

据我所知,唯一的方法是使用if语句和/或分两步进行分配.在这种特殊情况下,我发现非常令人沮丧,因为我想使用对象初始化器语法,这个赋值将在初始化块中...

谁知道更优雅的解决方案?

c# nullable conditional-operator

58
推荐指数
3
解决办法
2万
查看次数

如何比较可空类型?

我有几个地方需要比较2(可空)值,看看它们是否相同.

我认为框架中应该有一些东西可以支持这个,但找不到任何东西,所以请注意以下几点:

public static bool IsDifferentTo(this bool? x, bool? y)
{
    return (x.HasValue != y.HasValue) ? true : x.HasValue && x.Value != y.Value;
}
Run Code Online (Sandbox Code Playgroud)

然后,在我的代码中 if (x.IsDifferentTo(y)) ...

然后我有类似的可以为空的int,可空的双打等方法.

是否有更简单的方法来查看两个可空类型是否相同?

更新:

原来这个方法存在的原因是因为代码已经从VB.Net转换而来,其中Nothing = Nothing返回false(与C#相比,null == null返回true).应该使用VB.Net代码.Equals....

c# extension-methods nullable

58
推荐指数
6
解决办法
4万
查看次数

在 C# 8.0 中调用方法之前感叹号是什么意思?

我发现了一段用 C# 编写的代码,貌似是 8.0 版。在代码中,在调用方法之前有一个感叹号。这部分代码是什么意思,最重要的是,它的用途是什么?

var foo = Entity!.DoSomething();
Run Code Online (Sandbox Code Playgroud)

c# null nullable c#-8.0

58
推荐指数
3
解决办法
2万
查看次数

什么是解除运营商?

我正在看这篇文章,并且正在努力遵循解释提升运算符的VB.NET示例.似乎没有相应的C#示例或教程.我一般都没有太多关于运算符重载的经验,因此在阅读可空类型的同时尝试使用VB.NET等价物可能不是最好的开始...

是否有人能够解释提升的运算符以及它们如何被可空类型使用?它只是意味着可空类型本身不会重载运算符,并将使用它所代表的基础类型的运算符吗?

关于提升的运营商似乎没有太多关于SO的信息,所以希望这也可以帮助其他人.

.net c# nullable lifted-operators

56
推荐指数
1
解决办法
9364
查看次数

查询以检查列是否可为空

查询以检查列是否可为空(列中是否允许空值).它应该优选返回yes/no或1/0或true/false.

sql-server nullable sql-server-2008

56
推荐指数
3
解决办法
4万
查看次数