gpt4 book ai didi

c# - C# 2 和 3 之间的区别

转载 作者:行者123 更新时间:2023-11-30 18:49:00 24 4
gpt4 key购买 nike

我对 C# 或 .net 知之甚少,但我有兴趣了解它们。

让我感兴趣的一件事是我一直听到“C# 3 真的很棒”。
这是为什么?与 C# 2 有何不同。C# 还是 .net 中也存在差异?

提前致谢。

最佳答案

我有一篇关于此的小文章:Bluffer's Guide to C# 3 .显然my book中有更多细节但它应该足以让你继续前进。简而言之:

  • 自动实现的属性:

    public int Value { get; set; }
  • 对象和集合初始化器:

    Form form = new Form { Size = new Size(100, 100),
    Controls = { new Label { Text = "Hi" } }
    };
    List<string> strings = new List<string> { "Hi", "There" };
  • 隐式类型局部变量:

    var x = new Dictionary<string, int>(); // x is still statically typed
  • 隐式类型数组:

    DoSomething(new[] { "hi", "there"}); // Creates a string array
  • 匿名类型:

    var jon = new { Name = "Jon", Age = 33 };
  • Lambda 表达式(类似于匿名方法但更短):

    Func<string, int> lengthFunc = x => x.Length;
  • 表达式树:

    // Representation of logic as data
    Expression<Func<string, int>> lengthExpression = x => x.Length;
  • 扩展方法:(静态方法在其第一个参数的类型上类似于实例方法)

    public static string Reverse(this string text)
    {
    char[] chars = text.ToCharArray();
    Array.Reverse(chars);
    return new string(chars);
    }

    ...

    string hello = "olleh".Reverse();
  • 查询表达式:

    var query = from person in people
    where person.Age > 18
    select person.Name;

关于c# - C# 2 和 3 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1146501/

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