标签: nullable

返回可以为空的字符串类型

所以我有这样的事情

public string? SessionValue(string key)
{
    if (HttpContext.Current.Session[key].ToString() == null || HttpContext.Current.Session[key].ToString() == "")
        return null;

    return HttpContext.Current.Session[key].ToString();
}
Run Code Online (Sandbox Code Playgroud)

哪个不编译.

如何返回可以为空的字符串类型?

c# string nullable

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

使整数为空

我有一个更新函数,通过数据集更新sql server db表.表中的一个字段是整数并接受空值.所以,当我填充更新功能,我需要一种方法来进入当函数想要一个整数空.

我尝试这样做但 _intDLocation = ""引发异常

Dim _dLocation As String = udDefaultLocationTextEdit.Text
    Dim _intDLocation As Integer
    If _dLocation <> "" Then
        _intDLocation = Integer.Parse(udDefaultLocationTextEdit.Text)
    Else
        'NEED HELP HERE
        _intDLocation = ""
    End If
Run Code Online (Sandbox Code Playgroud)

vb.net nullable

15
推荐指数
2
解决办法
4万
查看次数

为什么GetType()为Nullable <DateTime>返回DateTime类型

可能重复:
Nullable类型不是可空类型?

在以下代码中:

DateTime? dt = DateTime.Now;
MessageBox.Show(dt.GetType().ToString());
Run Code Online (Sandbox Code Playgroud)

消息框显示"System.DateTime",而不是Nullable<DateTime>.以下内容也返回false(因为GetType错误):

if (dt.GetType().IsAssignableFrom(typeof(DateTime?))) 
 ...
Run Code Online (Sandbox Code Playgroud)

(顺便说一句,使用DateTime?Nullable<DateTime>没有区别)在监视窗口中,您有"类型"列显示正确的类型(System.DateTime?).

在我的代码中,我引用了dt作为一个object,所以我需要正确地获取底层类型.我怎样才能做到这一点?

.net c# nullable .net-4.0 c#-4.0

15
推荐指数
1
解决办法
2万
查看次数

Null感知函数调用操作符

我们也可以这样做

nullableClassInstance?.method(blah)
Run Code Online (Sandbox Code Playgroud)

有办法吗?

nullableFunctionInstance?(blah)
Run Code Online (Sandbox Code Playgroud)

换句话说,是否有运算符检查函数实例是否为空,如果是,则在一行中调用函数?

nullable dart

15
推荐指数
2
解决办法
934
查看次数

MySQL问题 - 唯一键不能正常运行,还是我误解了?

我正在尝试创建一个关系,其中可以包含四个不同部分中的任何一个,但是任何相同部分的集合都应该作为唯一处理.

示例:作业必须具有指定的公司,可以选择具有指定的位置,工作组和程序.作业可能没有没有位置的工作组.

我们假设我们有公司A,B,C; 位置X,Y,Z; 工作组I,J,K和计划1,2,3.

所以有效的关系可能包括A - X - I - 1 A - Z - 2 B - Y C C - 3 B - Z - K.

但无效关系将包括A - K(没有位置的工作组)Y - K - 1(没有公司)

所以,为了创建我的表,我已经创建了

companyID INT NOT NULL,
FOREIGN KEY companyKEY (companyID) REFERENCES company (companyID),
locationID INT,
FOREIGN KEY locationKEY (locationID) REFERENCES location (locationID),
workgroupID INT,
FOREIGN KEY workgroupKEY (workgroupID) REFERENCES workgroup (workgroupID),
programID INT,
FOREIGN KEY programKEY (programID) REFERENCES program (programID),
UNIQUE KEY companyLocationWorkgroupProgramKEY (companyID, locationID, …
Run Code Online (Sandbox Code Playgroud)

mysql nullable composite-key unique-key

14
推荐指数
1
解决办法
6377
查看次数

scala泛型约束如何对可空类型起作用

我已经尝试了两种方法将泛型类型参数约束为可空类型,但两者似乎都有一些意想不到的问题.

第一次尝试(使用T <:AnyRef):

scala> def testAnyRefConstraint[T <: AnyRef](option:Option[T]):T = {
     | //without the cast, fails with compiler error:
     | //    "found: Null(null) required: T"
     | option getOrElse null.asInstanceOf[T]
     | }
testAnyRefConstraint: [T <: AnyRef](Option[T])T

scala> testAnyRefConstraint(Some(""))
res0: java.lang.String = 

scala> testAnyRefConstraint(Some(0))
<console>:16: error: inferred type arguments [Int] do not conform to method testAnyRefConstraint's type parameter bounds [T <: AnyRef]
       testAnyRefConstraint(Some(0))
Run Code Online (Sandbox Code Playgroud)

这似乎完全符合我的要求,但我不明白为什么需要将null转换为T.


第二次尝试(使用T>:Null):

scala> def testNullConstraint[T >: Null](option:Option[T]):T = {
     | option getOrElse null
     | }
testNullConstraint: [T >: Null](Option[T])T

scala> …
Run Code Online (Sandbox Code Playgroud)

generics scala nullable constraints

14
推荐指数
1
解决办法
4692
查看次数

如何更改C#中的默认值(T)?

我想改变默认(T)对某些类的行为.因此,我想返回一个null对象,而不是为我的引用类型返回null.

有一些像

kids.Clear();
var kid = kids.Where(k => k.Age < 10).SingleOrDefault(); 

if (kid is NullKid)
{
  Console.Out.WriteLine("Jippeie");
}
Run Code Online (Sandbox Code Playgroud)

任何人都知道这是否可能?

c# linq default nullable

14
推荐指数
3
解决办法
4435
查看次数

将HasValue重写为?? 运营商

重写以下代码是否安全:

bool b = foo.bar.HasValue ? foo.bar.Value : false;
Run Code Online (Sandbox Code Playgroud)

bool b = foo.bar.Value ?? false;
Run Code Online (Sandbox Code Playgroud)

哪里bar是可空的类型bool?

c# nullable

14
推荐指数
3
解决办法
3812
查看次数

TryParse为可空类型

我想尝试将a解析string为a DateTime?,如果失败则将值设置为null.我能想到的唯一方法就是如下,但它看起来并不是很整洁.

DateTime temp;
DateTime? whatIActuallyWant = null;
if (DateTime.TryParse(txtDate.Text, out temp)) whatIActuallyWant = temp;
Run Code Online (Sandbox Code Playgroud)

这是唯一的方法吗?

.net c# null nullable tryparse

14
推荐指数
2
解决办法
9651
查看次数

Nullable可以在C#中用作函子吗?

请考虑C#中的以下代码.

public int Foo(int a)
{
    // ...
}

// in some other method

int? x = 0;

x = Foo(x);
Run Code Online (Sandbox Code Playgroud)

最后一行将返回一个cannot convert from 'int?' to 'int'足够公平的编译错误.但是,例如在Haskell中Maybe,有一个与NullableC#相对应.既然MaybeFunctor我将能够适用Foox使用fmap.C#有类似的机制吗?

c# haskell functional-programming nullable functor

14
推荐指数
3
解决办法
1039
查看次数