Visual Studio не видит поле C#

114
23 мая 2019, 00:40

Visual Studio не видит и не подсвечивает поле. Но в окошке с просмотрами элементов файла он есть. На всякий случай скину код

public class Constants
{
    public static Dictionary<String, Double> constants = new Dictionary<string, double>(2);
    constants.Add("PI", Math.PI);
}
Answer 1

Можете так попробывать:

public class Constants
{
    public Dictionary<String, Double> constants = new Dictionary<String, Double>();
    public void SetPi() => constants.Add("PI", Math.PI);
}
public class Program
{
    private static void Main(String[] args)
    {
        Constants constant = new Constants();
        constant.SetPi();
        Console.WriteLine(constant.constants["PI"]);
        Console.ReadKey();
    }
}

Учитывая замечания @tym32167, можно сделать так:

public class Constants
{
    public static Dictionary<String, Double> constants = new Dictionary<String, Double>
    {
        { "PI", Math.PI }
    };
}
public class Program
{
    private static void Main(String[] args)
    {
        Console.WriteLine(Constants.constants["PI"]);
        Console.ReadKey();
    }
}

Начиная с C# 6.0 доступен также еще один способ инициализации:

public class Constants
{
    public static Dictionary<String, Double> constants = new Dictionary<String, Double>
    {
        ["PI"] = Math.PI
    };
}
Answer 2

я увидел, что Visual Studio видит моё поле в функции и код, приведённый ниже работает. Но я ещё посмотрю другие варианты.

public class Constants
{
    public static Dictionary<String, Double> addConstants()
    {
        Dictionary<string, double> constants = new Dictionary<string, double>(); 
        constants.Add("PI", Math.PI);
        constants.Add("E", Math.E);
        constants.Add("GOLDEN_RATIO", 1.618);
        return constants;
    }
    private static Dictionary<String, Double> constants = addConstants();
}
READ ALSO
Можно ли в C# проект зашить код python?

Можно ли в C# проект зашить код python?

У меня есть приложение на C# можно ли в него зашить python скрипт? Чтобы он сразу подгружался с кодом?

131
Аналог срезов(Slices) в python в C#

Аналог срезов(Slices) в python в C#

Господа, возник вот какой вопрос, как перенести одно слово в строке на место другого, например

135
C# WPF Как создать градиент со всеми цветами?

C# WPF Как создать градиент со всеми цветами?

Как в C# WPF создать такой градиент и как получить цвет в конкретной точке на градиенте?

137
Как сделать, чтобы форма не работала, пока работает дочерняя [закрыт]

Как сделать, чтобы форма не работала, пока работает дочерняя [закрыт]

У меня в программе есть главная форма и несколько дочернихКак сделать так, чтобы пока работает другая форма, главная "заснула"?

138