日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
學習C#數(shù)據(jù)類型:string

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

驛城網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),驛城網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為驛城超過千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的驛城做網(wǎng)站的公司定做!

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

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

1. 打開文件或網(wǎng)址

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

怎么做到的呢?看擴展,很簡單,直接調(diào)用調(diào)用了Process.Start函數(shù):

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

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

2. 文件及目錄操作

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

 實現(xiàn)同樣簡單,調(diào)用File及Directory類。以下上面三個擴展的實現(xiàn)。(當然還可以實現(xiàn)更多文件及目錄操作,很簡單,不再給出?。?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. 執(zhí)行DOS命令,先看兩個簡單的

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

 實現(xiàn)也用了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命令也會有異常發(fā)生,下面的實現(xiàn)可通過out參數(shù)返回錯誤信息:

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.  } 

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

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

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

4. 執(zhí)行SQL

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

參考實現(xiàn)如下: 

 
 
 
  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;  

現(xiàn)在可以執(zhí)行了。結(jié)果是***  同樣還可以實現(xiàn)更多數(shù)據(jù)庫操作。

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


本文題目:學習C#數(shù)據(jù)類型:string
網(wǎng)站網(wǎng)址:http://m.5511xx.com/article/cosjieo.html