chetan.gupta21 Ответов: 2

Как лучше иметь операторы using внутри пространства имен?


Я пытаюсь понять, как лучше использовать оператор внутри пространства имен.
#Использование операторов внутри пространства имен

namespace Demo_Console.Account
{
    using System;

    public class Math
    {
        public static string Min(int a, int b)
        {
            return "Hello I am custom";
        }

        
    }
}



#Использование операторов вне пространства имен
using System;
namespace Demo_Console.Account
{
    

    public class Math
    {
        public static string Min(int a, int b)
        {
            return "Hello I am custom";
        }

        public static string Print()
        {
            return (Math.Min(10, 10));
        }
    }
}




Какое это имеет значение??

Что я уже пробовал:

использование операторов внутри или вне пространства имен

2 Ответов

Рейтинг:
12

Afzaal Ahmad Zeeshan

5ед.

Также смотрите решение 2, поскольку я предоставляю некоторые подробности о самих пространствах имен.

Karthik_Mahalingam

Спасибо ААЗ

Рейтинг:
1

Afzaal Ahmad Zeeshan

Помимо того, что было упомянуто в решении 1, для этого изменения также нет существенной (или очень меньшей) разницы в производительности. Потому что, так или иначе, компилятор заботится о "когда" и "как" после компиляции, из-за оптимизации Понятие пространства имен восходит ко временам C++, когда пространства имен в C были довольно "сложными", и у вас было бы пространство имен struct, или union и т. д. C++ ввел пространства имен, которые могут быть созданы по требованию. C# использует ту же концепцию и позволяет сопоставлять типы с определенным пространством имен или находить объекты внутри него.

Аналогично, в C# типы сначала проверяются локально, а затем проверяются все пространства имен, включающие этот тип. Таким образом, пространство имен внутри пространства имен (или класса) будет означать только то, что эта ссылка на пакет доступна только в рамках данного класса Другие классы или пространства имен в том же файле не ссылаются на него, и поэтому они будут использовать типы, предоставленные программистом; смотрите пример на такой поток, что решение 1 при условии.

Скотт Хансельман довольно аккуратно объяснил это в своем блоге, Вернемся к основам-влияют ли директивы использования пространства имен на загрузку сборки? - Скотт Хансельман[^]


Karthik_Mahalingam

5!
понравилось из блога,

Не верьте всему, что Вы читаете, даже в блоге Microsoft.
Не верьте и этому блогу!
Решите сами с помощью экспериментов, нужен ли вам тай-брейк!

Afzaal Ahmad Zeeshan

Спасибо, Картик!