标签: nullable

Swift: `["one": nil] as [String: Any]` 有效,为什么?

func logEvent(events: [String: Any]) {
  print(events);
}

let eventProperties: [String: Any?] = [
  "one": nil,
  "two": "2"
]

logEvent(events: eventProperties as [String: Any])
Run Code Online (Sandbox Code Playgroud)

如果我更改let eventProperties: [String: Any?]为,let eventProperties: [String: Any]我会得到有意义的错误。但为什么上面的代码有效呢?

'nil' is not compatible with expected dictionary value type 'Any'
  "one": nil,
Run Code Online (Sandbox Code Playgroud)

nullable ios swift

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

不允许为可为空的枚举返回 null

我编写了一个简单的扩展方法来帮助将字符串解析为可为空的枚举类型。

public static TEnum? ParseNullableEnum<TEnum>(this string? str)
    where TEnum : Enum
{
    if (str is null)
    {
        return null;
    }

    if (!Enum.TryParse(typeof(TEnum), str, ignoreCase: true, out var source))
    {
        throw new ArgumentOutOfRangeException(nameof(str), str, null);
    }

    return (TEnum)source;
}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,返回类型是TEnum?,其中TEnumEnum。并且启用了 nullable,因此 null 是一个有效值。但是,我在网上遇到错误return null;

CS0403:无法将 null 转换为类型参数“TEnum”,因为它可能是不可为 null 的值类型。考虑使用 default('TEnum') 代替。

这是VS的bug,还是我做错了什么?我没有转换为TEnum,输出类型是TEnum?...对吗?

c# generics enums nullable

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

请帮我在Vb.NET中创建Nullable字符串参数

请告诉我如何在vb.net中实现string类型的Nullable Parameter

功能:

sub savedetail(byval name as string, byval age as integer)
if name isnot nothing then
some work
end if
end sub
Run Code Online (Sandbox Code Playgroud)

我称之为事物

savedetail(nothing,34) //here is giving me format exception
Run Code Online (Sandbox Code Playgroud)

exception:System.FormatException:输入字符串的格式不正确.

现在我正在放置exect功能..请告诉我我在哪里犯错误:

Function savedetails(ByVal db As DSLibrary.DataProviders.SqlProvider, ByVal name As String, ByVal cityId As Integer, ByVal addr1 As String, ByVal addr2 As String, ByVal phone As String, ByVal fax As String, ByVal zip As String, ByVal contactfname As String, ByVal contactlname As String, ByVal randomcode As String, ByVal reservationEmail …
Run Code Online (Sandbox Code Playgroud)

vb.net string nullable

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

使用可空文字的真正时髦的C#编译器行为

C#4.0编译器没有抱怨这个(甚至没有警告):

if(10.0 > null + 1)
{       
}

if (myDoubleValue > null)
{
}
Run Code Online (Sandbox Code Playgroud)

而且似乎总是错误的.这里发生了什么?null会自动转换Nullable<double>为什么?

如果是这样,为什么这不起作用呢:

double myDoubleValue = null + 1;
Run Code Online (Sandbox Code Playgroud)

另外,为什么我会想要这样的行为.为什么有可能玩这样的文字是一件好事.

c# compiler-construction null nullable literals

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

可以在声明数组和可空类型之前使用它们吗?

我引用了本书的以下段落: C#编程语言第四版

C#支持任何类型的单维和多维数组.与上面列出的类型不同,数组类型在使用之前不必声明.而是通过使用带方括号的类型名称来构造数组类型.例如,int []是int的一维数组,int [,]是int的二维数组,int [] []是int的一维数组的一维数组.

可以使用Nullable类型之前也不必声明它们.对于每个非可伸缩值类型T,存在相应的可空类型T ?,其可以保持附加值null.例如,int?是一种可以保存任何32位整数或值为null的类型.

如何使用数组和可空类型而不事先声明它们?

c# arrays nullable

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

C#比较本机类型和可空类型(Int32与Int32?)

有没有办法在C#中比较可空和非可空的泛型?

例如:

public void function<T>()
{
    Type t = sqlreader.GetValue(pos).GetType();
}
Run Code Online (Sandbox Code Playgroud)

哪里t是类型Int32T类型Nullable<Int32>.

我们如何比较tT返回true

c# generics types nullable

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

什么?DataType在Vb.NET中意味着什么

我有以下代码行:

CType(IIf(CBool(product.IsDiscontinued Is Nothing Or product.IsDiscontinued = True), False, True), Boolean?)
Run Code Online (Sandbox Code Playgroud)

Boolean?最后的意思是什么.我已经看到它也用于其他数据类型.

vb.net nullable

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

.Net - 转换或转换盒装字节?,简称?还是int?到int?

如果我有一个object引用a 的引用byte?,short?或者int?有没有办法无条件地将该对象引用转换为int?没有为每个案例编写单独的代码?

例如:

byte? aByte = 42; // .. or aByte = null
object anObject = aByte;
//...
var anInt = (int?)anObject //As expected, doesn't work
Run Code Online (Sandbox Code Playgroud)

.net c# int casting nullable

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

将NULL从VB6窗口传递给.NET可空Int32

我有一个调用.NET方法的VB6窗口,将输入从其控件的值传递给C#代码.

我希望能够传递NULL给(Int32?)的C#参数,但是我的VB6代码中没有找到任何允许我这样做的东西.

这可能吗?如果是这样,我需要从VB6传递给NULL我的.NET方法有什么价值?

c# vb6 int interop nullable

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

字符串模板中的Nullable var

Kotlin有一个名为字符串模板的功能.在字符串中使用可空变量是否安全?

override fun onMessageReceived(messageEvent: MessageEvent?) {
    Log.v(TAG, "onMessageReceived: $messageEvent")
}
Run Code Online (Sandbox Code Playgroud)

将上面的代码抛出NullPointerException,如果messageEventnull

nullable kotlin

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

标签 统计

nullable ×10

c# ×6

generics ×2

int ×2

vb.net ×2

.net ×1

arrays ×1

casting ×1

compiler-construction ×1

enums ×1

interop ×1

ios ×1

kotlin ×1

literals ×1

null ×1

string ×1

swift ×1

types ×1

vb6 ×1