欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談C#中[]的幾種用法

 更新時間:2023年01月28日 09:50:07   作者:迪迦 ? 奧特曼  
本文主要介紹了淺談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;
}

那么默認情況下在內存里是先排a,再排b
也就是如果能取到a的地址,和b的地址,則相差一個int類型的長度,4字節(jié)

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

這樣和上一個是一樣的.因為默認的內存排列就是Sequential,也就是按成員的先后順序排列.
2.Explicit,精確布局
需要用FieldOffset()設置每個成員的位置
這樣就可以實現(xiàn)類似c的公用體的功能

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

這樣a和b在內存中地址相同

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

您可能感興趣的文章:

相關文章

  • C# 設計模式系列教程-簡單工廠模式

    C# 設計模式系列教程-簡單工廠模式

    簡單工廠模式職責單一,實現(xiàn)簡單,且實現(xiàn)了客戶端代碼與具體實現(xiàn)的解耦。
    2016-06-06
  • C#?Chart控件標記問題詳解

    C#?Chart控件標記問題詳解

    這篇文章主要介紹了C#?Chart控件標記問題詳解,在做項目的時候,遇到一個需求,需要我對Chart圖標標記數(shù)據(jù)正在運行,實現(xiàn)數(shù)據(jù)可視化,文章通過圍繞主題展開詳情,需要的朋友可以參考一下
    2022-08-08
  • C# 時間與時間戳互轉的方法(13位)

    C# 時間與時間戳互轉的方法(13位)

    這篇文章主要介紹了C# 時間與時間戳互轉的方法(13位),詳細的介紹了常出現(xiàn)的幾種時間方式及其時間與時間戳互轉的方法,非常具有實用價值,希望此文章對各位有所幫助
    2018-10-10
  • C#微信開發(fā)之微信公眾號標簽管理功能

    C#微信開發(fā)之微信公眾號標簽管理功能

    這篇文章主要介紹了C#微信開發(fā)之微信公眾號標簽管理功能 的相關資料,需要的朋友可以參考下
    2016-05-05
  • C#調用python腳本的方法詳解

    C#調用python腳本的方法詳解

    這篇文章主要為大家詳細介紹了C#調用python腳本的方法,文中通過示例代碼介紹的非常詳細,感興趣的朋友們下面隨著小編來一起學習學習吧
    2023-11-11
  • C# 解決在Dictionary中使用枚舉的效率問題

    C# 解決在Dictionary中使用枚舉的效率問題

    這篇文章主要介紹了C# 解決在Dictionary中使用枚舉的效率問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • DataGridView設置單元格的提示內容ToolTip

    DataGridView設置單元格的提示內容ToolTip

    這篇文章介紹了DataGridView設置單元格提示內容ToolTip的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02
  • C#使用FileStream循環(huán)讀取大文件數(shù)據(jù)的方法示例

    C#使用FileStream循環(huán)讀取大文件數(shù)據(jù)的方法示例

    這篇文章主要介紹了C#使用FileStream循環(huán)讀取大文件數(shù)據(jù)的方法,結合實例形式分析了FileStream文件流的形式循環(huán)讀取大文件的相關操作技巧,需要的朋友可以參考下
    2017-05-05
  • unity實現(xiàn)流光效果

    unity實現(xiàn)流光效果

    這篇文章主要為大家詳細介紹了unity實現(xiàn)流光效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • C#中使用Override和New關鍵字進行版本控制

    C#中使用Override和New關鍵字進行版本控制

    在?C#?中,override?和?new?關鍵字用于控制類之間的成員方法的隱藏和重寫,理解它們之間的差異和使用場景對于設計靈活且易于維護的代碼至關重要,在這篇博客中,我們將詳細探討這兩個關鍵字的用法,并通過示例來說明它們的實際應用,需要的朋友可以參考下
    2024-10-10

最新評論