[C#] 字串資料處理

今天工作遇到資料形態處理的小問題

1.
要取出某一BIT用AND的方式
要設某一BIT進去用OR
Bit
0--> &H01
1--> &H02
2--> &H04
3--> &H08
4--> &H10
5--> &H20
6--> &H40
7--> &H80

2.
C# 進制轉換(二進制、十六進制、十進制互轉)
由於二進制數在C#中無法直接表示,所以所有二進制數都用一個字符串來表示
例如: 二進制: 1010 表示为 字符串:"1010" 
int d = 10;


//十進制轉二進制字符串
 Console.WriteLine(Convert.ToString(d,2));
//輸出: 1010




//十進制轉十六進制字符串
Console.WriteLine(Convert.ToString(d,16));
//輸出: a


//二進制字符串轉十進制數
string bin = "1010";
Console.WriteLine(Convert.ToInt32(bin,2));
//輸出: 10


//二進制字符串轉十六進制數
string bin = "1010";
Console.WriteLine(string.Format("{0:x}",Convert.ToInt32(bin,2));
//輸出: a


//十六進制轉二進制字符串
Console.WriteLine(Convert.ToString(0xa,2));
//輸出: 1010


//十六進制轉十進制數
Console.WriteLine(Convert.ToString(0xa,10));
//輸出: 10


C#實現轉換十六進制
C#語言有很多值得學習的地方,這裏我們主要介紹C#實現轉換十六進制,包括介紹用來表示十六進制的枚舉值是 HexNumber等方面。


C#實現轉換十六進制


任何數據在計算機內部都是以二進制保存的,所以進制與數據的存儲無關,只與輸入輸出有關。所以,對於進制轉換,我們只關心字符串中的結果。


在上面的第 4 條中提到了 ToString() 方法可以將數值轉換成字符串,不過在字符串中,結果是以十進制顯示的。現在我們帶给它加一些参數,就可以讓C#實現轉換成十六進制——使用 ToString(string) 方法。


這裏需要一個 string 類型的参數,這就是格式說明符。十六進制的格式說明符是 "x" 或者 "X",使用這兩種格式說明符的區別主要在於 A-F 六個數字:"x" 代表 a-f 使用小寫字母表示,而 "X" 而表示 A-F 使用大字字母表示。如下例:


   1. private void TestHex() {  
   2. int a = 188;  
   3. this.textBox1.Text = "";  
   4. this.textBox1.AppendText("a(10) = " + a.ToString() + "\n");  
   5. this.textBox1.AppendText("a(16) = " + a.ToString("x") + "\n");  
   6. this.textBox1.AppendText("a(16) = " + a.ToString("X") + "\n");  
   7. } 


運行結果如下:


   1. a(10) = 188  
   2. a(16) = bc  
   3. a(16) = BC 


3.

C# 防止程式重復執行

C#要防止程式重複執行有以下兩種方法
方法1. 判斷process清單的程式名稱是否重複就可知道是否重複執
?
1
2
3
4
5
6
7
8
9
//取得此process的名稱
String name = Process.GetCurrentProcess().ProcessName;
//取得所有與目前process名稱相同的process
Process[] ps = Process.GetProcessesByName(name);
//ps.Length > 1 表示此proces以重複執行
if (ps.Length > 1)
{
    System.Environment.Exit(2);
}

4.字串處理

URL : http://a-jau.blogspot.tw/2012/01/cstringindexoflastindexofsubstringsplit.html

留言

熱門文章