gpt4 book ai didi

c# - 目标类型的新表达式和隐式数组

转载 作者:行者123 更新时间:2023-12-02 15:59:15 25 4
gpt4 key购买 nike

我可以写下面的代码来初始化一个 List<KeyValuePair<string, string>>在字段初始值设定项中:

List<KeyValuePair<string, string>> lst = new() {
new("Key1", "Value1"),
new("Key2", "Value2")
}

利用目标类型 new包含 List<> 的表达式和个人KeyValuePair<>结构。

是否可以类似地初始化一个数组?目标类型new表达式不能用于数组本身,因为必须初始化数组。

但以下——使用隐式类型数组——无法编译:

KeyValuePair<string, string>[] arr = new [] {
new("Key1", "Value1"),
new("Key2", "Value2")
}

与:

CS0826 No best type found for implicitly-typed array

最佳答案

您可以删除 new[] 部分:

using System.Collections.Generic;

KeyValuePair<string, string>[] arr =
{
new("Key1", "Value1"),
new("Key2", "Value2")
};

作为变量声明的一部分有效,它允许array_initializer作为初始值,而不需要array_creation_expression .变量声明当然包括字段:

public class Test
{
private readonly KeyValuePair<string, string>[] arr =
{
new("Key1", "Value1"),
new("Key2", "Value2")
};
}

关于c# - 目标类型的新表达式和隐式数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71060855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com