麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > C# > 正文

C#學習基礎概念二十五問第1/4頁

2020-01-24 03:49:45
字體:
來源:轉載
供稿:網友
注:本文部份資料來自網絡,如有侵權,請與我聯系,我會在第一時間聲明引用或將其刪除!
    當初學 C# 時是找個人大概問了一下數據類型和分支語句就開始做項目了。這兩天又全面的看了一下相關的基礎知識(學而時習之嘛),總結了25個問題:
1.靜態成員和非靜態成員的區別?
2.const 和 static readonly 區別?
3.extern 是什么意思?
4.abstract 是什么意思?
5.internal 修飾符起什么作用?
6.sealed 修飾符是干什么的?
7.override 和 overload 的區別?
8.什么是索引指示器?
9.new 修飾符是起什么作用?
10.this 關鍵字的含義?
11.可以使用抽象函數重寫基類中的虛函數嗎?
12.密封類可以有虛函數嗎?
13.什么是屬性訪問器?
14.abstract 可以和 virtual 一起使用嗎?可以和 override 一起使用嗎?
15.接口可以包含哪些成員?
16.類和結構的區別?
17.接口的多繼承會帶來哪些問題?
18.抽象類和接口的區別?
19.別名指示符是什么?
20.如何手工釋放資源?
21.P/Invoke是什么?
22.StringBuilder 和 String 的區別?
23.explicit 和 implicit 的含義?
24.params 有什么用?
25.什么是反射? 
以下是我做的一份參考答案(C# 語言范疇之內),如果有不準確、不全面的,歡迎各位朋友指正!
1.靜態成員和非靜態成員的區別?
答:
靜態變量使用 static 修飾符進行聲明,在類被實例化時創建,通過類進行訪問
不帶有 static 修飾符聲明的變量稱做非靜態變量,在對象被實例化時創建,通過對象進行訪問
一個類的所有實例的同一靜態變量都是同一個值,同一個類的不同實例的同一非靜態變量可以是不同的值
靜態函數的實現里不能使用非靜態成員,如非靜態變量、非靜態函數等
復制代碼 代碼如下:

示例:
using System;
using System.Collections.Generic;
using System.Text;
namespace Example01
{
    class Program
    {
        class Class1
        {
            public static String staticStr = "Class";
            public String notstaticStr = "Obj";
        }
        static void Main(string[] args)
        {
            //靜態變量通過類進行訪問,該類所有實例的同一靜態變量都是同一個值
            Console.WriteLine("Class1's staticStr: {0}", Class1.staticStr);
            Class1 tmpObj1 = new Class1();
            tmpObj1.notstaticStr = "tmpObj1";
            Class1 tmpObj2 = new Class1();
            tmpObj2.notstaticStr = "tmpObj2";
            //非靜態變量通過對象進行訪問,不同對象的同一非靜態變量可以有不同的值
            Console.WriteLine("tmpObj1's notstaticStr: {0}", tmpObj1.notstaticStr);
            Console.WriteLine("tmpObj2's notstaticStr: {0}", tmpObj2.notstaticStr);
            Console.ReadLine();
        }
    }
}

結果:
Class1's staticStr: Class
tmpObj1's notstaticStr: tmpObj1
tmpObj2's notstaticStr: tmpObj2
2.const 和 static readonly 區別?
答:
const
用 const 修飾符聲明的成員叫常量,是在編譯期初始化并嵌入到客戶端程序
static readonly
用 static readonly 修飾符聲明的成員依然是變量,只不過具有和常量類似的使用方法:通過類進行訪問、初始化后不可以修改。但與常量不同的是這種變量是在運行期初始化
示例:
測試類:
using System;
using System.Collections.Generic;
using System.Text;
namespace Example02Lib
{
    public class Class1
    {
        public const String strConst = "Const";
        public static readonly String strStaticReadonly = "StaticReadonly";
        //public const String strConst = "Const Changed";
        //public static readonly String strStaticReadonly = "StaticReadonly Changed";
    }
}
客戶端代碼:
using System;
using System.Collections.Generic;
using System.Text;
using Example02Lib;
namespace Example02
{
    class Program
    {
        static void Main(string[] args)
        {
            //修改Example02中Class1的strConst初始值后,只編譯Example02Lib項目
            //然后到資源管理器里把新編譯的Example02Lib.dll拷貝Example02.exe所在的目錄,執行Example02.exe
            //切不可在IDE里直接調試運行因為這會重新編譯整個解決方案!!
            //可以看到strConst的輸出沒有改變,而strStaticReadonly的輸出已經改變
            //表明Const變量是在編譯期初始化并嵌入到客戶端程序,而StaticReadonly是在運行時初始化的
            Console.WriteLine("strConst : {0}", Class1.strConst);
            Console.WriteLine("strStaticReadonly : {0}", Class1.strStaticReadonly);
            Console.ReadLine();
        }
    }
}
結果:
strConst : Const
strStaticReadonly : StaticReadonly 
修改后的示例:
測試類:
using System;
using System.Collections.Generic;
using System.Text;
namespace Example02Lib
{
    public class Class1
    {
        //public const String strConst = "Const";
        //public static readonly String strStaticReadonly = "StaticReadonly";
        public const String strConst = "Const Changed";
        public static readonly String strStaticReadonly = "StaticReadonly Changed";
    }
}
結果
strConst : Const
strStaticReadonly : StaticReadonly Changed
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 午夜视频在线免费播放 | 久操福利视频 | 国内精品伊人久久 | 91精品国产一区二区三区四区在线 | 88xx成人精品视频 | 中文字幕一二区 | 深夜毛片免费看 | 色婷婷久久久久久 | 成年免费观看视频 | 欧美一级片在线 | 欧美亚洲国产成人综合在线 | 欧美精品在线视频观看 | 国产电影av在线 | 欧美国产一区二区三区 | 国产一区二区三区影视 | 一级毛片电影院 | 孕妇体内谢精满日本电影 | 最近日本电影hd免费观看 | 久操福利视频 | 国产精品成aⅴ人片在线观看 | 成熟女人特级毛片www免费 | 香蕉黄色网 | 欧美日韩大片在线观看 | 欧美日韩一区,二区,三区,久久精品 | 久久影院在线观看 | 得得啪在线视频 | 国产a级片电影 | 久久久久免费精品 | 国产免费一区二区三区 | 精品国产欧美一区二区 | 国产精品久久久久久久av三级 | 免费专区 - 91爱爱 | 午夜视频在线观看91 | 成人免费在线视频 | 日本精品中文字幕 | 国产精品视频免费网站 | 射逼网站 | 国产精品视频导航 | 欧美成人小视频 | av成人免费 | 刘亦菲一区二区三区免费看 |