相关疑难解决方法(0)

C#的正确版本号是多少?

C#的正确版本号是多少?什么时候出来?为什么我找不到关于C#3.5的任何答案?

这个问题主要是为了帮助那些使用不正确的版本号搜索答案的人,例如C#3.5.希望任何未能找到错误版本号的答案的人都会找到这个问题,然后再使用正确的版本号进行搜索.

.net c# .net-framework-version visual-studio compiler-version

2422
推荐指数
12
解决办法
33万
查看次数

我可以为Dictionary <TKey,TValue>条目使用集合初始值设定项吗?

我想为下一段代码使用集合初始值设定项:

public Dictionary<int, string> GetNames()
{
    Dictionary<int, string> names = new Dictionary<int, string>();
    names.Add(1, "Adam");
    names.Add(2, "Bart");
    names.Add(3, "Charlie");
    return names;
}
Run Code Online (Sandbox Code Playgroud)

通常它应该是这样的:

return new Dictionary<int, string>
{ 
   1, "Adam",
   2, "Bart"
   ...
Run Code Online (Sandbox Code Playgroud)

但是这个的正确语法是什么?

.net c# generics collections c#-3.0

94
推荐指数
5
解决办法
4万
查看次数

为什么C#集合初始化程序以这种方式工作?

我正在查看C#集合初始化程序,发现实现非常务实,但也与C#中的任何其他内容完全不同

我能够创建这样的代码:

using System;
using System.Collections;

class Program
{
    static void Main()
    {
        Test test = new Test { 1, 2, 3 };
    }
}

class Test : IEnumerable
{
    public IEnumerator GetEnumerator()
    {
        throw new NotImplementedException();
    }

    public void Add(int i) { }
}
Run Code Online (Sandbox Code Playgroud)

由于我满足了编译器(已实现IEnumerable和a public void Add)的最低要求,因此无效,但显然没有价值.

我想知道是什么阻止了C#团队创建更严格的要求?换句话说,为了编译这种语法,为什么编译器不要求类型实现ICollection?这似乎更符合其他C#功能的精神.

c# collections

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

C#字典如何从文件中读取key=value

我是第一年的学生,我正在尝试使用 Dictionary 类阅读一个大报告文件。我的报告格式如下:

Key=value
Key=value
.
.
. 
Run Code Online (Sandbox Code Playgroud)

现在,Dictionary 需要 2 个键和值输入,但是我将如何填写?我想它可以与循环一起使用,但我太缺乏经验以及如何在这里获得一些答案。

它不是重复的,因为我尝试了不同的东西。我想阅读已经包含上述格式的 .WER 报告。我不想要一个已经填满的字典。我需要填写它。

c# dictionary split hashmap readfile

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

如何使用集合初始值设定项创建新字典?

如果你可以在List中执行此操作

List<int> a = new List<int>() {
   2, 4, 6, 8, 10
};
Run Code Online (Sandbox Code Playgroud)

你怎么能在字典里做同样的事情?

Dictionary<int, bool> b = new Dictionary<int, bool>() {
   ?, ?, ?
};
Run Code Online (Sandbox Code Playgroud)

c#

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

初始化字典值

这是我的代码

public class SEWorkflow
{
     public Dictionary<SETabs, bool> tabNVPair { get; set; }
}


 public enum SETabs
    {
        Main,
        Attachments,
        TechTeamReview,
        SecurityTeamReview,
        TechTeamImplementation
    }

//I am initialising like this...

 List<SEWorkflow> result = new List<SEWorkflow>()
            {
                  new SEWorkflow()
                {
                     tabNVPair = new Dictionary<SETabs,bool>()
                    {
                          SETabs.Main = true,
                            SETabs.Attachments = true,


                    }
                }
         }
Run Code Online (Sandbox Code Playgroud)

我收到错误 // //Error CS0131 赋值的左侧必须是变量、属性或索引器

我将如何初始化?

c#

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