C#函式實現的小功能集合

TolyHuang發表於2008-04-01

[@more@]

子窗體返回主窗體

/**////


///名稱:redirect
///功能:子窗體返回主窗體
///引數:url
///返回值:空
///

public void redirect(string url,Page page)
{
if ( Session["IfDefault"]!=(object)"Default")
{
page.RegisterStartupScript("","
}
}

判斷是否為數字

/**////


/// 名稱:IsNumberic
/// 功能:判斷輸入的是否是數字
/// 引數:string oText:源文字
/// 返回值: bool true:是 false:否
///


public bool IsNumberic(string oText)
{
try
{
int var1=Convert.ToInt32 (oText);
return true;
}
catch
{
return false;
}
}

獲得字串實際長度(包括中文字元)

//獲得字串oString的實際長度
public int StringLength(string oString)
{
byte[] strArray=System.Text .Encoding.Default .GetBytes (oString);
int res=strArray.Length ;
return res;
}

將回車轉換為TAB

//當在有keydown事件的控制元件上敲回車時,變為tab
public void Tab(System.Web .UI.WebControls .WebControl webcontrol)
{
webcontrol.Attributes .Add ("onkeydown", "if(event.keyCode==13) event.keyCode=9");
}

datagrid分頁中如果刪除時出現超出索引

public void jumppage(System.Web.UI.WebControls.DataGrid dg)
{
int int_PageLess; //定義頁面跳轉的頁數
//如果當前頁是最後一頁
if(dg.CurrentPageIndex == dg.PageCount-1)
{
//如果就只有一頁
if(dg.CurrentPageIndex == 0)
{
//刪除後頁面停在當前頁
dg.CurrentPageIndex = dg.PageCount-1;
}
else
{
//如果最後一頁只有一條記錄
if((dg.Items.Count % dg.PageSize == 1) || dg.PageSize == 1)
{
//把最後一頁最後一條記錄刪除後,頁面應跳轉到前一頁
int_PageLess = 2;
}
else //如果最後一頁的記錄數大於1,那麼在最後一頁刪除記錄後仍然停在當前頁
{
int_PageLess = 1;
}
dg.CurrentPageIndex = dg.PageCount - int_PageLess;
}
}
}


*/

//Base64編碼
public string EncodeBase64(string code_type,string code)
{
string encode = "";
byte[] bytes = Encoding.GetEncoding(code_type).GetBytes(code);
try
{
encode = Convert.ToBase64String(bytes);
}
catch
{
encode = code;
}
return encode;
}

c#的一些字串的經驗
//獲得漢字的區位碼
byte[] array = new byte[2];
array = System.Text.Encoding.Default.GetBytes("啊");

int i1 = (short)(array[0] - '');
int i2 = (short)(array[1] - '');

//unicode解碼方式下的漢字碼
array = System.Text.Encoding.Unicode.GetBytes("啊");
i1 = (short)(array[0] - '');
i2 = (short)(array[1] - '');

//unicode反解碼為漢字
string str = "4a55";
string s1 = str.Substring(0,2);
string s2 = str.Substring(2,2);

int t1 = Convert.ToInt32(s1,16);
int t2 = Convert.ToInt32(s2,16);

array[0] = (byte)t1;
array[1] = (byte)t2;

string s = System.Text.Encoding.Unicode.GetString(array);

//default方式反解碼為漢字
array[0] = (byte)196;
array[1] = (byte)207;
s = System.Text.Encoding.Default.GetString(array);

//取字串長度
s = "iam方槍槍";
int len = s.Length;//will output as 6
byte[] sarr = System.Text.Encoding.Default.GetBytes(s);
len = sarr.Length;//will output as 3+3*2=9

//字串相加
System.Text.StringBuilder sb = new System.Text.StringBuilder("");
sb.Append("i ");
sb.Append("am ");
sb.Append("方槍槍");


string fox;
fox.ToLower()轉化成小寫字母
fox.ToUpper()轉化成大寫字母
fox.Trim()刪除前後空格
fox.Trim(trimChars)刪除其它字元
fox.TrimStart()刪除前空格
fox.TrimEnd()刪除後空格
fox.PadLeft(10)增加左邊空格,使字串達到某長度。
fox.PadRight(10)增加右邊空格,使字串達到某長度。
fox.PadX(10,'-')增加其它字元,使字串達到某長度。X指:Left/Right
fox.Split(' ')將字串分解成陣列

//格式化
string sf=string.Format("{0}年{1}月{2}日 {3}時{4}分",temp.Year,temp.Month,temp.Day,currTime.TruantTime.Hour,currTime.TruantTime.Minute);

//一些正規表示式
Internet地址表示式
- ./?%&=]*)?
Email地址表示式
w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
郵編
d{6}
電話號碼
((d{3})|d{3}-)?d{8}

//分隔字串
string total="aaa,bbb,ccc,dddd";
string[]strArray;
char[]charArray=new char[]{','};
strArray=total.Split(charArray);

//日期
DateTime t1 = new DateTime(2002,5,30);
DateTime t2 = new DateTime(2002,5,23);
TimeSpan diff=t1-t2;
MessageBox.Show(diff.Days.ToString(

System.DateTime.Now.ToString()

DateTime d1=Convert.ToDateTime("2003-01-01 18:20:01");
string s=d1.ToString("yyyy-MM-dd HH:mm:ss");

//目錄
Environment.CurrentDirectory
Application.StartupPath

//Base64解碼
public string DecodeBase64(string code_type,string code)
{
string decode = "";
byte[] bytes = Convert.FromBase64String(code);
try
{
decode = Encoding.GetEncoding(code_type).GetString(bytes);
}
catch
{
decode = code;
}
return decode;
}


//將querystirng轉換成url:
public static string GetRedirectUrl(NameValueCollection queryString)
{
string redirectUrl = string.Empty;
int counter = 0;
foreach(string key in queryString.Keys)
{
redirectUrl += string.Format("{0}{1}={2}", (counter>0)?"&":"", key, queryString[key]);
counter++;
}
return redirectUrl;
}


}
}


該文章轉載自德仔工作室:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9437124/viewspace-1001753/,如需轉載,請註明出處,否則將追究法律責任。

相關文章