Запитання з тегом «using-statement»

Оператор `using` - це функція мови C # та VB.NET, яка спрощує детерміновану очистку наявних ресурсів. Не слід плутати з (лише C #) директивою `using` (пов'язаною з просторами імен), для якої використовуйте тег` using-директиви`.




5
Що станеться, якщо я повернусь до закінчення використання оператора? Чи буде називатися розпорядження?
У мене такий код using(MemoryStream ms = new MemoryStream()) { //code return 0; } dispose()Метод викликається в кінці usingзаяви брекет }правильно? Оскільки я returnдо кінця usingвиписки, чи буде MemoryStreamоб’єкт розміщений належним чином? Що тут відбувається?

12
Чи має у Java заяву використання?
Чи має Java-заяву, яке можна використовувати під час відкриття сеансу в сплячому режимі? У C # це щось на кшталт: using (var session = new Session()) { } Таким чином об’єкт виходить із сфери застосування та автоматично закривається.

5
Чи може «використання» більше ніж одного ресурсу спричинити витік ресурсу?
C # дозволяє мені зробити наступне (приклад з MSDN): using (Font font3 = new Font("Arial", 10.0f), font4 = new Font("Arial", 10.0f)) { // Use font3 and font4. } Що станеться, якщо font4 = new Fontкидає? З того, що я розумію, font3 просочиться ресурсами і не буде утилізований. Це правда? (font4 …

3
Чи все ще визивається Dispose, коли виняток кидається всередині використовуваного оператора?
У наведеному нижче прикладі, чи зв’язок закриється та розпоряджається, коли викидається виняток, якщо він знаходиться в usingоператорі? using (var conn = new SqlConnection("...")) { conn.Open(); // stuff happens here and exception is thrown... } Я знаю, що цей код нижче переконається, що він робить, але мені цікаво, як це використовує …

1
Використовуйте висловлювання та очікуйте, що ключові слова добре зіграють у c
У мене виникає ситуація, коли я здійснюю asyncвиклик методу, який повертається та IDisposableекземпляр. Наприклад: HttpResponseMessage response = await httpClient.GetAsync(new Uri("http://www.google.com")); Тепер, перш ніж asyncбув на сцені, під час роботи з IDisposableекземпляром цей виклик та код, який використовував змінну "відповідь", будуть загорнуті в оператор, що використовує. Моє запитання - чи це …

3
Чи буде використання оператора відкотом транзакції бази даних у разі виникнення помилки?
Я отримав IDbTransaction у операторі using, але я не впевнений, чи буде він відкочений, якщо в операторі using буде вилучено виняток. Я знаю, що оператор using буде примушувати викликати Dispose () ... але чи хтось знає, чи те саме стосується відкату ()? Оновлення: Крім того, чи потрібно мені зателефонувати комітету …

15
'використання' твердження проти 'спробувати нарешті'
У мене є купа властивостей, для яких я буду використовувати блокування читання / запису. Я можу реалізувати їх або за try finallyдопомогою usingпункту, або речення. В try finallyя б придбав замок до try, і відпустив в finally. У цьому usingреченні я б створив клас, який отримує замок у своєму конструкторі …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.