小编Jan*_*Jan的帖子

圆形静态只读字段定义的奇怪行为

在Visual Studio 2017(Debug build)中运行以下代码时,我有一些奇怪的行为:

using System;
using System.Collections.Generic;

namespace ConsoleApp2
{
    public class Program
    {
        public static class DefaultCustomers
        {
            public static readonly Customer NiceCustomer = new Customer() { Name = "Mr. Nice Guy " };
            public static readonly Customer EvilCustomer = new Customer() { Name = "Mr. Evil Guy " };
            public static readonly Customer BrokeCustomer = new Customer() { Name = "Mr. Broke Guy" };
        }

        public class Customer
        {
            public static readonly IEnumerable<Customer> UnwantedCustomers = new[] { …
Run Code Online (Sandbox Code Playgroud)

c# instantiation

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

C#:默认文字和可空结构的类型推断

从C#7.1开始,default无需指定类型就可以通过使用获得默认值。我今天尝试了一下,发现可为空的结构和可为空的值类型的结果有些违反直觉。

[TestFixture]
public class Test
{
    private class Person
    {
        public string Name { get; set; }
        public int Age { get; set; }
    }

    [Test]
    public void ShouldBehaveAsExpected()
    {
        var person1 = new Person {Name = "John", Age = 58};
        var person2 = new Person {Name = "Tina", Age = 27};

        var persons = new[] {person1, person2};

        int? myAge = persons.FirstOrDefault(p => p.Name == "MyName")?.Age;
        var myDefaultAge = myAge ?? default;

        var myAgeString = myAge == null …
Run Code Online (Sandbox Code Playgroud)

c# nullable c#-7.1

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

标签 统计

c# ×2

c#-7.1 ×1

instantiation ×1

nullable ×1