成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

學習C#數據類型:string

開發 后端
string是各種編程語言中最基礎的數據類型,本文介紹了C#數據類型中的string,供大家參考。

string是各種編程語言中最基礎的數據類型,長期以來受盡其它類的壓迫,經常被肢解(Substring、Split)、蹂躪(Join)...

而現在C#數據類型string要“翻身鬧革命”了,它幾乎無所不能,可以為所欲為,令其它類心驚膽顫...

讓我們來看一下革命后的string做了些什么?

1. 打開文件或網址

  1. "c:\\t.txt".Open();  
  2. "http://www.cnblogs.com/ldp615/".Open(); 

怎么做到的呢?看擴展,很簡單,直接調用調用了Process.Start函數:

  1. public static void Open(this string s)  
  2. {  
  3.     Process.Start(s);  

單單打開個文件,竊取他人信息只是初步操作,string還可以修改、刪除、創建文件(或目錄)

2. 文件及目錄操作

  1. @"C:\Directory".CreateDirectory();  
  2. @"C:\Directory\readme.txt".WriteText("this file is created by string!");  
  3. @"C:\abc.txt".DeleteFile(); 

 實現同樣簡單,調用File及Directory類。以下上面三個擴展的實現。(當然還可以實現更多文件及目錄操作,很簡單,不再給出?。?nbsp;

  1. public static void CreateDirectory(this string path)  
  2.  {  
  3.      Directory.CreateDirectory(path);  
  4.  }  
  5.  public static void WriteText(this string path, string contents)  
  6.  {  
  7.      File.WriteAllText(path, contents);  
  8.  }          
  9.  public static void DeleteFile(this string path)  
  10.  {  
  11.      if(File.Exists(path)) File.Delete(path);  
  12.  } 

還是感覺不過癮,想要刪除整個硬盤的文件,用上面的一個一個來也太麻煩了。也沒問題,看下面:

3. 執行DOS命令,先看兩個簡單的

  1. string output1 = "del c:\\t1.txt".ExecuteDOS();  
  2. string output2 = "dir".ExecuteDOS(); 

 實現也用了Process類,如下:

  1. public static string ExecuteDOS(this string cmd)  
  2. {  
  3.     Process process = new Process();  
  4.     process.StartInfo.FileName = "cmd.exe";  
  5.     process.StartInfo.UseShellExecute = false;  
  6.     process.StartInfo.RedirectStandardInput = true;  
  7.     process.StartInfo.RedirectStandardOutput = true;  
  8.     process.StartInfo.RedirectStandardError = true;  
  9.     process.StartInfo.CreateNoWindow = true;  
  10.    process.Start();  
  11.    process.StandardInput.WriteLine(cmd);  
  12.    process.StandardInput.WriteLine("exit");  
  13.    return process.StandardOutput.ReadToEnd();  

DOS命令也會有異常發生,下面的實現可通過out參數返回錯誤信息:

ExecuteDOS 

  1. public static string ExecuteDOS(this string cmd, out string error)  
  2.  {  
  3.      Process process = new Process();  
  4.      process.StartInfo.FileName = "cmd.exe";  
  5.      process.StartInfo.UseShellExecute = false;  
  6.      process.StartInfo.RedirectStandardInput = true;  
  7.      process.StartInfo.RedirectStandardOutput = true;  
  8.      process.StartInfo.RedirectStandardError = true;  
  9.      process.StartInfo.CreateNoWindow = true;  
  10.      process.Start();  
  11.      process.StandardInput.WriteLine(cmd);  
  12.      process.StandardInput.WriteLine("exit");  
  13.      error = process.StandardError.ReadToEnd();  
  14.      return process.StandardOutput.ReadToEnd();  
  15.  } 

有了這個擴展,格式化硬盤、關機、重啟都不在話下!

  1. "format c:".ExecuteDOS();  
  2. "shutdown -s".ExecuteDOS();  
  3. "shutdown -r".ExecuteDOS(); 

以上對付一般用戶的電腦足夠了,可但對程序員的電腦,他們居然把信息放進了數據庫!同樣有辦法!

4. 執行SQL

  1. DbConnection conn =   
  2. int count = "select count(*) from Girlfriends".ExecuteScalar(conn).Cast< int>(); 

參考實現如下: 

  1. public static object ExecuteScalar(this string sql, DbConnection conn)  
  2. {  
  3.     object result;  
  4.     using (DbCommand cmd = conn.CreateCommand())  
  5.     {  
  6.         cmd.Connection = conn;  
  7.         cmd.CommandText = sql;  
  8.         cmd.CommandType = System.Data.CommandType.Text;  
  9.         conn.Open();  
  10.         result = cmd.ExecuteScalar();  
  11.         conn.Close();  
  12.     }  
  13.     return result;  

還有Cast擴展:

  1. public static T Cast< T>(this object obj)  
  2. {  
  3.     return (T)obj;  

現在可以執行了。結果是***  同樣還可以實現更多數據庫操作。

C#數據類型string還可以做更多更多事情,只要你支持它!但不要給它太多太大的權力,萬一哪天比你強大了...

【編輯推薦】

  1. 總結C#哈希表的用法
  2. 不一樣的入門:看C# Hello World的17種寫法
  3. 什么是WMI?及其示例
  4. 從C#到C++容易出現的問題解答
  5. 淺議.NET、ASP.NET和C#的關系
責任編輯:book05 來源: cnblogs
相關推薦

2009-09-01 16:35:55

C#操作String數

2009-09-07 10:48:53

C#數據類型

2011-06-08 13:35:18

C#數據類型

2009-09-04 10:16:30

C#數據類型

2009-09-11 12:00:33

C#預定義數據類型

2009-08-14 13:52:18

C#判斷數據類型

2009-08-12 16:26:27

C#數據類型轉換

2009-08-13 15:19:17

C#數據類型

2009-08-27 16:39:26

C# String類型

2009-08-14 11:15:45

C#基本數據類型

2024-03-14 11:54:37

C++數據類型

2009-08-12 16:01:32

C#動態改變數據

2009-08-19 15:59:24

C#參數類型

2009-08-18 13:00:59

C#枚舉類型

2010-01-19 13:17:05

C++數據類型

2010-01-25 10:41:59

C++數據類型

2010-01-13 17:32:02

C++數據類型

2009-08-18 10:59:46

C#枚舉類型

2009-08-12 11:24:25

C# String對象

2023-05-26 00:02:31

SDS數據編碼
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人深夜小视频 | 综合色站导航 | 亚洲一区二区在线播放 | 91精品国产一区二区在线观看 | 欧美一区二区三区在线播放 | 亚洲视频免费在线看 | 日本午夜免费福利视频 | 精品亚洲一区二区 | 色网站在线免费观看 | 精品少妇一区二区三区日产乱码 | 天天拍天天操 | 天天看天天爽 | 羞羞视频在线观看 | 久草视频在线播放 | 一级黄色片免费在线观看 | 色五月激情五月 | 国产激情在线 | 一区二区三区av | 在线视频国产一区 | 在线91| 日韩爱爱网 | 亚洲一区二区三区在线免费 | 国产精品美女久久久久久免费 | 国产一区二区三区四区五区加勒比 | 国产免费黄网 | 日韩精品无码一区二区三区 | 免费在线观看一区二区三区 | 久久av一区二区三区 | 激情av网站 | 亚洲一区二区免费电影 | 亚洲色图插插插 | 日韩视频免费看 | 中文字幕av在线 | 欧美一级黄色免费看 | jvid精品资源在线观看 | 欧美色性 | 国产一级片免费视频 | 国产精彩视频在线观看 | 99综合网| 欧美电影免费观看高清 | 成人小视频在线观看 |