最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#中[]的幾種用法示例代碼

 更新時間:2023年01月28日 09:20:47   作者:迪迦???奧特曼  
不像數(shù)學里面有方括號和花括號,在C#語法中”[]”與”{}”有專門的用途,下面這篇文章主要給大家介紹了關于C#中[]的幾種用法,需要的朋友可以參考下

一、導入外部DLL函數(shù)

[DllImport(“kernel32.dll”)]這叫引入kernel32.dll這個動態(tài)連接庫。這個動態(tài)連接庫里面包含了很多WindowsAPI函數(shù),如果你想使用這面的函數(shù),就需要這么引入。舉個例子:

[DllImport(“kernel32.dll”)]
private static extern void FunName(arg,[arg]);

extern 作用:標識這個變量或者函數(shù)定義在其他文件 ,提示編譯器遇到此變量的時,在其他模塊里尋找,這里是在提供的動態(tài)庫里找
示列代碼:

using System;
using System.Text;
using System.Runtime.InteropServices;
namespace Windows.Help
{
    public partial class SystemInfo
    {
        [DllImport("kernel32")]
        public static extern void GetWindowsDirectory(StringBuilder WinDir, int count);
        [DllImport("kernel32")]
        public static extern void GetSystemDirectory(StringBuilder SysDir, int count);
        public static void Main () {
            const int nChars = 128;
            StringBuilder Buff = new StringBuilder(nChars);
            GetWindowsDirectory(Buff, nChars);
            String t = "Windows路徑:" + Buff.ToString();
            System.Console.WriteLine(t);
        }
    }
}

二、結構體時表明屬性

[StructLayout(LayoutKind.Sequential) ][StructLayout(LayoutKind.Explicit)] ,首先介紹一下 結構體和類的區(qū)別 :類是按引用傳遞 結構體是按值傳遞

進入正題:

結構體是由若干成員組成的.布局有兩種

1.Sequential,順序布局,比如

struct S1{
  int a;
  int b;
}

那么默認情況下在內(nèi)存里是先排a,再排b

也就是如果能取到a的地址,和b的地址,則相差一個int類型的長度,4字節(jié)

[StructLayout(LayoutKind.Sequential)] 
struct S1
{
  int a;
  int b;
}

這樣和上一個是一樣的.因為默認的內(nèi)存排列就是Sequential,也就是按成員的先后順序排列.

2.Explicit,精確布局

需要用FieldOffset()設置每個成員的位置

這樣就可以實現(xiàn)類似c的公用體的功能

[StructLayout(LayoutKind.Explicit)] 
struct S1
{
  [FieldOffset(0)]
  int a;
  [FieldOffset(0)]
  int b;
}

這樣a和b在內(nèi)存中地址相同

總結

到此這篇關于C#中[]的幾種用法示例的文章就介紹到這了,更多相關C#中[]用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • C# new與malloc的使用與區(qū)別

    C# new與malloc的使用與區(qū)別

    本文主要介紹了C# new與malloc的使用與區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • C#中委托用法

    C#中委托用法

    這篇文章主要介紹了C#中委托用法,實例分析了C#的定義與使用技巧,需要的朋友可以參考下
    2015-05-05
  • C#使用linq查詢大數(shù)據(jù)集的方法

    C#使用linq查詢大數(shù)據(jù)集的方法

    這篇文章主要介紹了C#使用linq查詢大數(shù)據(jù)集的方法,涉及C#調(diào)用linq進行數(shù)據(jù)查詢的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-04-04
  • Unity3D實現(xiàn)虛擬按鈕控制人物移動效果

    Unity3D實現(xiàn)虛擬按鈕控制人物移動效果

    這篇文章主要為大家詳細介紹了Unity3D實現(xiàn)虛擬按鈕控制人物移動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • C#異步調(diào)用實例小結

    C#異步調(diào)用實例小結

    這篇文章主要介紹了C#異步調(diào)用的方法,實例分析了C#同步調(diào)用及異步調(diào)用的常用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-08-08
  • 100行C#代碼實現(xiàn)經(jīng)典掃雷游戲

    100行C#代碼實現(xiàn)經(jīng)典掃雷游戲

    這篇文章主要為大家詳細介紹了如何用100行C#代碼實現(xiàn)經(jīng)典的掃雷游戲,文中的示例代碼講解詳細,具有一定的借鑒價值,需要的可以參考一下
    2023-02-02
  • C#程序最小化到托盤圖標操作步驟與實現(xiàn)代碼

    C#程序最小化到托盤圖標操作步驟與實現(xiàn)代碼

    設置窗體屬性showinTask=false;加notifyicon控件notifyIcon1,為控件notifyIcon1的屬性Icon添加一個icon圖標;添加窗體最小化事件(首先需要添加事件引用)接下來介紹實現(xiàn)代碼,感興趣的朋友可以研究下
    2012-12-12
  • C# WebApi Get請求方式傳遞實體參數(shù)的方法示例

    C# WebApi Get請求方式傳遞實體參數(shù)的方法示例

    這篇文章主要給大家介紹了關于C# WebApi Get請求方式傳遞實體參數(shù)的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用C#具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-04-04
  • C#使用InstallerProjects打包桌面應用程序的完整步驟

    C#使用InstallerProjects打包桌面應用程序的完整步驟

    這篇文章主要給大家介紹了關于C#使用InstallerProjects打包桌面應用程序的完整步驟,文中通過示例代碼介紹的非常詳細,對大家學習或者使用C#具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-07-07
  • asp.net(C#)清除全部Session與單個Session的方法

    asp.net(C#)清除全部Session與單個Session的方法

    下面小編就為大家?guī)硪黄猘sp.net(C#)清除全部Session與單個Session的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12

最新評論

青神县| 巫山县| 东乌珠穆沁旗| 新和县| 阳原县| 光山县| 定陶县| 如皋市| 云阳县| 太湖县| 吐鲁番市| 雷州市| 宝清县| 类乌齐县| 青神县| 开化县| 英山县| 新河县| 靖远县| 资阳市| 龙川县| 江川县| 北海市| 志丹县| 眉山市| 买车| 苍山县| 通河县| 通州市| 新密市| 黄石市| 林西县| 旬邑县| 东丰县| 怀宁县| 浠水县| 乐至县| 开化县| 临湘市| 沁源县| 黄浦区|