Подтвердить что ты не робот

Использование ключевого слова "using" в С#

Я хочу знать, что такое использование "использования" ключевого слова в С#, я новичок в нем. когда нам нужно использовать "использование" ключевого слова.. я искал его, не мог быть удовлетворен ответами. все же я хочу узнать еще кое-что от вас, Geeks..

Спасибо

4b9b3361

Ответ 1

Два использования:

  • Использование директив, например.

    using System;
    using System.IO;
    using WinForms = global::System.Windows.Forms;
    using WinButton = WinForms::Button;
    

    Они используются для импорта пространств имен (или создания псевдонимов для пространств имен или типов). Они идут вверху файла, перед любыми объявлениями.

  • Использование утверждений, например

    using (Stream input = File.OpenRead(filename))
    {
        ...
    }
    

    Это можно использовать только с типами, реализующими IDisposable, и является синтаксическим сахаром для блока try/finally, который вызывает Dispose в блоке finally. Это используется для упрощения управления ресурсами.

Ответ 2

использование имеет два значения в С#:

  • для IDisposable означает, что когда будет вызываться метод использования методов end Dispose.
  • Использование для пространства имен означает, что типы из импортированного пространства имен будут указаны в коде.

Основной пример использования блока:

A "dummy" одноразовый класс:

public class DisposableClass : IDisposable
{
    public static bool WasDisposed { get; private set;}

    public void Dispose()
    {
        WasDisposed = true;
    }
}

Какой-то очень простой код, который демонстрирует, когда вызывается Dispose:

[Test]
public void DisposeSample()
{
    using (var disposableClass = new DisposableClass())
    {
        Assert.IsFalse(DisposableClass.WasDisposed);
    }

    Assert.IsTrue(DisposableClass.WasDisposed);
}

Ответ 3

Я предполагаю, что вы говорите об использовании блока управления, а не о том, как использовать оператор [namespace]. В основном ключевым словом является синтаксический сахар для безопасной инициализации и удаления объектов. Он работает с любым объектом, который реализует IDisposable. Следующее:

using(MyType obj = new MyType())
{
  ... do stuff.
}

эквивалентно:

MyType obj = new MyType();
try
{
  .... do stuff
}
finally
{
  if(obj != null)
  {
      obj.Dispose();
  }
}

Ответ 4

Существует два варианта использования ключевого слова.

Один из них, когда вам слишком ленив ввести System.Web.UI.WebControls.TextBox, вы добавляете using System.Web.UI.WebControls вверху вашего файла кода и отныне просто пишите TextBox. Все, что он делает - сокращает код, который вы должны написать (и упрощает его чтение).

Другой имеет отношение к интерфейсу IDisposable. Этот интерфейс предназначен для объектов, которые необходимо очистить после того, как вы закончите использовать их. Как файлы, которые необходимо закрыть, или соединения с БД, или такие вещи. Вы могли просто просто позвонить по методу Dispose() самостоятельно, где это необходимо, но это облегчает задачу. Короче говоря, это:

using (var X = new MyObject())
{
    // Code goes here
}

эквивалентно этому:

var X = new MyObject();
try
{
    // Code goes here   
}
finally
{
    if ( X != null )
        X.Dispose();
}

Снова - это сокращение от кода, который гарантирует, что независимо от того, что произойдет, метод Dispose() будет вызван. Даже когда ваш код генерирует исключение или вы return вне метода, метод Dispose() будет вызван. Это гарантирует, что вы случайно не оставите файлы открытыми или что-то еще.

В общем случае, если вы когда-либо используете объект, реализующий интерфейс IDisposable, поместите его в блок using.

Ответ 5

Существует три варианта использования:

Я не верю, что могу объяснить более четко, чем статьи MSDN в общих чертах. Если у вас возникли проблемы с их пониманием, вы можете задать более конкретный вопрос относительно деталей, которые вы не понимаете.

Ответ 6

"используя" ключевое слово также можно использовать для создания псевдонимов типов. Здесь Item является псевдонимом для словаря. Этот подход может сэкономить вам несколько символов:)

Например,

using Item = System.Collections.Generic.Dictionary<string, string>;
namespace Sample
{
    using Records = Dictionary<int, Item>;
    public class Controller
    {
      Records recordDictionary = new Records();
    }
}

Ответ 7

Довольно точно будет дублировать это где-то... однако, короче говоря, ключевые слова использования используются для определения области действия объекта, который вы создаете. Объект расположен после того, как он выходит из блока использования, то есть Dispose вызывается автоматически.

Подробнее см. с помощью Statement (С#).

Ответ 8

Это дает вам простой способ очистки ресурсов после того, как вы закончите с ними. При использовании с использованием, когда вы закончите использовать ресурсы, они автоматически освобождаются. Он даже очищает ресурсы в случае исключения.

Ответ 10

Существует два варианта использования ключевого слова 'using':

  • как директива using, которая позволяет использовать типы в пространстве имен. Например: using System.Web
  • как оператор using, который возможен только для типов, наследующих от IDisposable. Это автоматически вызывает метод Dispose() объекта после того, как оператор use выходит за пределы области видимости, поэтому вам не нужно беспокоиться о том, как автоматически вызывать этот метод самостоятельно или вызываете Close() в соединениях с базой данных, например:

    с использованием (MySqlConnection connection = new MySqlConnection()) { //.. }

Ответ 12

В С# существует два разных типа использования с использованием ключевого слова:

  • Объявить неявную область пакета, например "using System;"
  • Чтобы вызвать метод Dispose() для объекта IDisposable.

В последнем случае using(myVar) {} является сокращением для:

IDisposable disposable = (IDisposable)myVar;
try
{
   // your code here
}
finally
{
   if (disposable != null)
      disposable.Dispose();
}

Ответ 13

можно использовать для:

  • "импортировать" пространства имен, т.е. использовать их
  • создать псевдоним для типа (например, typedef в дни С++)
  • немедленно удалять объект после его использования

Ответ 14

используя ключевое слово, можно использовать для импорта (ассоциировать) namspace или библиотеку с нашей программой. Так что мы можем использовать функцию, доступную в этих библиотеках нашей программы. Его что-то вроде ссылки

Пример: использование System.IO

Это означает, что мы собираемся использовать некоторые функции, присутствующие в этой библиотеке

Вы можете написать свою собственную библиотеку и импортировать ее с помощью инструкции using. Пример:

namespace MyProject.MyNamspace
{
 public class MyCustomClass
 {
  public static string MyFunctionToSmile()
  {
   return "He he he heeee";
  }   
}

}

и в ur С# странице, используйте этот

using MyProject.MyNamspace

public class MyClass
{
 protected void Page_Load(object sender, EventArgs e)
 {
  Response.Write(MyCustomClass.MyFunctionToSmile());
 } 
}

Круто...