1. 程式人生 > >using的幾種用法

using的幾種用法

1.using指令。using + 名稱空間名字,這樣可以在程式中直接用命令空間中的型別,而不必指定型別的詳細名稱空間,類似於Java的import,這個功能也是最常用的,幾乎每個cs的程式都會用到。
例如:using System; 一般都會出現在*.cs中。

2.using別名。using + 別名 = 包括詳細名稱空間資訊的具體的型別。
這種做法有個好處就是當同一個cs引用了兩個不同的名稱空間,但兩個名稱空間都包括了一個相同名字的型別的時候。當需要用到這個型別的時候,就每個地方都要用詳細名稱空間的辦法來區分這些相同名字的型別。而用別名的方法會更簡潔,用到哪個類就給哪個類做別名宣告就可以了。注意:並不是說兩個名字重複,給其中一個用了別名,另外一個就不需要用別名了,如果兩個都要使用,則兩個都需要用using來定義別名的。

例如:

using System;
using aClass = NameSpace1.MyClass;
using bClass = NameSpace2.MyClass;

namespace NameSpace1 
{
    
publicclass MyClass 
    
{
        
publicoverridestring ToString() 
        
{
            
return"You are in NameSpace1.MyClass";
        }

    }

}


namespace NameSpace2 
{
    
class MyClass 
    
{
        
publicoverridestring ToString() 
        
{
            
return"You are in NameSpace2.MyClass";
        }

    }

}


namespace testUsing
{
    
using NameSpace1;
    
using NameSpace2;
    
///<summary>
    
/// Class1 的摘要說明。
    
///</summary>

class Class1
    
{
        
///<summary>
        
/// 應用程式的主入口點。
        
///</summary>

        [STAThread]
        
staticvoid Main(string[] args)
        
{
            
//
            
// TODO: 在此處新增程式碼以啟動應用程式
            
//
            
            aClass my1 
=new aClass();            
            Console.WriteLine(my1);
            bClass my2 
=new bClass();
            Console.WriteLine(my2);
            Console.WriteLine(
"Press any key");
            Console.Read();
        }

    }

}


3.using語句,定義一個範圍,在範圍結束時處理物件。
場景:
當在某個程式碼段中使用了類的例項,而希望無論因為什麼原因,只要離開了這個程式碼段就自動呼叫這個類例項的Dispose。
要達到這樣的目的,用try...catch來捕捉異常也是可以的,但用using也很方便。
例如:

using (Class1 cls1 =new Class1(), cls2 =new Class1())
{
  
// the code using cls1, cls2


}
// call the Dispose on cls1 and cls2


這裡觸發cls1和cls2的Dispose條件是到達using語句末尾或者中途引發了異常並且控制離開了語句塊。

相關推薦

C#關鍵字using用法

     一、作為語句,強制物件清理         用於定義一個範圍,在此範圍的末尾將釋放物件         C# 通過 .NET Framework 公共語言執行庫 (CLR) 自動釋放

C#中using用法

    前言          在學習C#中我們開頭就看見名稱空間namespace這顯示很多using,對於這個不是怎麼了解。看著一行行的,不帶重複的。一次就跟著一個命名,就在百度裡查了查這到底是啥

C#名稱空間簡介和Using用法

C# 的名稱空間: 名稱空間的設計目的是提供一種讓一組名稱與其他名稱分隔開的方式。在一個名稱空間中宣告的類的名稱與另一個名稱空間中宣告的相同的類的名稱不衝突。 定義名稱空間 名稱空間的定義是以關鍵字 namespace 開始,後跟名稱空間的名稱,如下所示:

using用法

1.using指令。using + 名稱空間名字,這樣可以在程式中直接用命令空間中的型別,而不必指定型別的詳細名稱空間,類似於Java的import,這個功能也是最常用的,幾乎每個cs的程式都會用到。例如:using System; 一般都會出現在*.cs中。 2.using別名。using + 別名 =

PHP header的用法

aid var esp comment har pos -type refresh fresh 跳轉頁面 header(‘Location:‘.$url); //Location和":"之間無空格。 聲明content-type header(‘content-

Java for循環的用法

java unboxing 比較 有效 post 編譯期 環比 開始 進行 原文鏈接:Java for循環的幾種用法 J2SE 1.5提供了另一種形式的for循環。借助這種形式的for循環,可以用更簡單地方式來遍歷數組和Collection等類型的對象。本文介紹使用這種

python用法的性能比較1.5

+= 用法 setup using _array __name__ 1.5 nump name import timeit sum_by_for = """ for d in data: s += d """ sum_by_sum = """ sum(data

3分鐘掌握MongoDB中的regex用法

lib cat 正則表達式 小寫 可選參數 介紹 src 我們 包括 3分鐘掌握MongoDB中的regex幾種用法背景Part1:寫在最前使用MySQL或其他關系型數據庫的朋友們都知道,使用模糊查詢的用法類似於:SELECT * FROM products WHERE s

java定時器的用法

comment 四種方法 out x64 instance system new ring main package com.lid; import java.util.Calendar; import java.util.Date; import j

Unity_C#判斷字符串為空的用法

tps rem ref har http string 使用 比較 itl 轉載自CSDN_FreeSon; https://blog.csdn.net/biaobiao1217/article/details/39047963 字符串判斷:string在C#中是一個引用類

格式化的用法

{0} clas pri code body OS stat main world String.format詳情參考地址 public class FormatWay { static final String detail_url = "http://www.ex

ng-class動態類用法

條件 clas bsp led span item sele 括號 color 方法1.邏輯在後面的中括號裏面 ng-class="{true : ‘checker disabled‘,false : ‘checker‘ }[selectAllButton]" 方

可改進的BigDecimal的用法

我在實際專案中發現現存的程式碼中對BigDecimal的使用有些可以改進的地方,在此記錄下來,供大家參考。   1、new BigDecimal(0)、new BigDecimal("0")、new BigDecimal(1)、new BigDecimal("1")、new BigDecimal

JavaScript中的this關鍵字的用法

JS 裡的 this 在 function 內部被建立 指向呼叫時所在函式所繫結的物件(拗口) this 不能被賦值,但可以被 call/apply 改變 1. this 和建構函式 function C(){ this.a = 37; }

關於sort函式的用法

1.要使用sort函式只需用#include <algorithm> 即可使用,語法描述為: sort(begin,end),表示一個範圍,例如: int _tmain(int argc, _TCHAR* argv[]) {  int a[20]={2,4,1,23,5,76,0,4

numpy.mean()的用法

import numpy as np x = np.array([1,2,3,4,5]) y = np.array([0,2,3,4,6]) z = np.array([[1,2],[3,4]])#二維陣列 np.mean(x==y)#返回條件成立的佔比 Out[5]: 0.599999

C#的new關鍵字的用法

一共有三種用法: 在 C# 中,new 關鍵字可用作運算子、修飾符或約束。 1)new 運算子:用於建立物件和呼叫建構函式。這種大家都比較熟悉,沒什麼好說的了。 2)new 修飾符:在用作修飾符時,new 關鍵字可以顯式隱藏從基類繼承的成員。 3)new 約束:用於在泛型宣告中約束可能用作型

jquery事件綁定的用法

防止 thead hello 語法 多個 col rop 分享 tlist 常見的事件綁定的幾種方法 主要有on(),bind(),live(),delegate(),隨著版本的不斷更新,live(),bind(),delegate()被相繼棄用。live():1.7版本之

jquery事件繫結的用法

常見的事件繫結的幾種方法 主要有on(),bind(),live(),delegate(),隨著版本的不斷更新,live(),bind(),delegate()被相繼棄用。live():1.7版本之後被棄用bind()、delegate():3.0版本之後被棄用雖然在3.0之後的版本中有bind和deleg

Java中Array.sort()的用法[轉]

轉自: http://www.cnblogs.com/IT-sky/p/3749859.html?utm_source=tuicool&utm_medium=referral void java.util.Arrays.sort(int[] a, int fromIn