日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#函数实现的小功能

發(fā)布時間:2025/7/14 C# 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#函数实现的小功能 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
C#中Split分隔字符串的應(yīng)用?
1、用字符串分隔:?
using?System.Text.RegularExpressions;

?

string?str="aaajsbbbjsccc";

string[]?sArray=Regex.Split(str,"js",RegexOptions.IgnoreCase);

foreach?(string?i?in?sArray)?Response.Write(i.ToString()?+?"<br>");



輸出結(jié)果:
aaa
bbb
ccc
?

2、用多個字符來分隔:

string?str="aaajbbbscccjdddseee";

string[]?sArray=str.Split(new?char[2]{'j','s'});?

foreach(string?i?in?sArray)?Response.Write(i.ToString()?+?"<br>");?



輸出結(jié)果:
aaa
bbb
ccc
ddd
eee
?

3、用單個字符來分隔:

string?str="aaajbbbjccc";

string[]?sArray=str.Split('j');

foreach(string?i?in?sArray)?Response.Write(i.ToString()?+?"<br>");

輸出結(jié)果:
aaa
bbb
ccc


==================
子窗體返回主窗體?

?
/**////<summary>?
?
///名稱:redirect?
?
///功能:子窗體返回主窗體?
?
///參數(shù):url?
?
///返回值:空?
?
///</summary>?

?public?void?redirect(string?url,Page?page)?
?
{?
??
if?(?Session["IfDefault"]!=(object)"Default")?
??
{?????
???page.RegisterStartupScript(
"","<script>window.top.document.location.href='"+url+"';</script>");?
??}
?
?}
?

?判斷是否為數(shù)字?

?
/**////?<summary>?
?
///?名稱:IsNumberic?
?
///?功能:判斷輸入的是否是數(shù)字?
?
///?參數(shù):string?oText:源文本?
?
///?返回值: bool?true:是 false:否?
?
///?</summary>?

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

?獲得字符串實(shí)際長度(包括中文字符)?

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

?將回車轉(zhuǎn)換為TAB?

?
//當(dāng)在有keydown事件的控件上敲回車時,變?yōu)閠ab?
?public?void?Tab(System.Web?.UI.WebControls?.WebControl?webcontrol)?
?
{?
??webcontrol.Attributes?.Add?(
"onkeydown",?"if(event.keyCode==13)?event.keyCode=9");?
?}
?

?datagrid分頁中如果刪除時出現(xiàn)超出索引?

?
public?void?jumppage(System.Web.UI.WebControls.DataGrid?dg)?
?
{?
??
int?int_PageLess;?//定義頁面跳轉(zhuǎn)的頁數(shù)?
??
//如果當(dāng)前頁是最后一頁?
??if(dg.CurrentPageIndex?==?dg.PageCount-1)?
??
{?
???
//如果就只有一頁?
???if(dg.CurrentPageIndex?==?0)?
???
{?
????
//刪除后頁面停在當(dāng)前頁?
????dg.CurrentPageIndex?=?dg.PageCount-1;????
???}
?
???
else?
???
{?
????
//如果最后一頁只有一條記錄?
????if((dg.Items.Count?%?dg.PageSize?==?1)?||?dg.PageSize?==?1)?
????
{?
?????
//把最后一頁最后一條記錄刪除后,頁面應(yīng)跳轉(zhuǎn)到前一頁?
?????int_PageLess?=?2;?
????}
?
????
else??????//如果最后一頁的記錄數(shù)大于1,那么在最后一頁刪除記錄后仍然停在當(dāng)前頁?
????{?
?????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#的一些字符串的經(jīng)驗(yàn)
//獲得漢字的區(qū)位碼?
byte[]?array?=?new?byte[2];?
array?
=?System.Text.Encoding.Default.GetBytes("");?

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

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

//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()轉(zhuǎn)化成小寫字母?
fox.ToUpper()轉(zhuǎn)化成大寫字母?
fox.Trim()刪除前后空格?
fox.Trim(trimChars)刪除其它字符?
fox.TrimStart()刪除前空格?
fox.TrimEnd()刪除后空格?
fox.PadLeft(
10)增加左邊空格,使字串達(dá)到某長度。?
fox.PadRight(
10)增加右邊空格,使字串達(dá)到某長度。?
fox.PadX(
10,'-')增加其它字符,使字串達(dá)到某長度。X指:Left/Right?
fox.Split(
'?')將字串分解成數(shù)組?

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

//一些正則表達(dá)式?
Internet地址表達(dá)式?
http:
//([\w-]+\.)+[\w-]+(/[\w-?./?%&=]*)??
Email地址表達(dá)式?
\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轉(zhuǎn)換成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;
????????}



????}
}
一.?顯示消息對話框類?

???做項(xiàng)目時總免不了要彈出對話框,或提示用戶,或做用戶確認(rèn)。像WinForm下的MessageBox一樣很方便,但web下是不是也可以實(shí)現(xiàn)呢,答案是肯定的,我簡單總結(jié)了一下并封裝到類,在項(xiàng)目里像WinForm的MessageBox那樣直接調(diào)用就可以,也可以把它編譯成dll作為組件直接調(diào)用,并且它也沒有彈出對話框時的大白屏現(xiàn)象:)。?

?????
/**////?<summary>?

?????
///?顯示消息提示對話框。?


?????
///?2005.10.1?

?????
///?</summary>?


?????
public?class?MessageBox?

?????
{????????

?????????
private??MessageBox()?

?????????
{?????????????

?????????}
?

?????????
/**////?<summary>?

?????????
///?顯示消息提示對話框?

?????????
///?</summary>?

?????????
///?<param?name=page>當(dāng)前頁面指針,一般為this</param>?

?????????
///?<param?name=msg>提示信息</param>?


?????????
public?static?void??Show(System.Web.UI.Page?page,string?msg)?

?????????
{?

??????????????page.RegisterStartupScript(message,
<script?language='javascript'?defer>alert('+msg.ToString()+');</script>);?

?????????}
?

?????????
/**////?<summary>?

?????????
///?控件點(diǎn)擊消息確認(rèn)提示框?

?????????
///?</summary>?

?????????
///?<param?name=page>當(dāng)前頁面指針,一般為this</param>?

?????????
///?<param?name=msg>提示信息</param>?


?????????
public?static?void??ShowConfirm(System.Web.UI.WebControls.WebControl?Control,string?msg)?

?????????
{?

??????????????
//Control.Attributes.Add(onClick,if?(!window.confirm('+msg+')){return?false;});?

??????????????Control.Attributes.Add(onclick,?
return?confirm('?+?msg?+?');)?;?

?????????}
?

?????????
/**////?<summary>?

?????????
///?顯示消息提示對話框,并進(jìn)行頁面跳轉(zhuǎn)?

?????????
///?</summary>?

?????????
///?<param?name=page>當(dāng)前頁面指針,一般為this</param>?

?????????
///?<param?name=msg>提示信息</param>?

?????????
///?<param?name=url>跳轉(zhuǎn)的目標(biāo)URL</param>?


?????????
public?static?void?ShowAndRedirect(System.Web.UI.Page?page,string?msg,string?url)?

?????????
{?

??????????????StringBuilder?Builder
=new?StringBuilder();?

??????????????Builder.Append(
<script?language='javascript'?defer>);?

??????????????Builder.AppendFormat(alert(
'{0}');,msg);?

??????????????Builder.AppendFormat(top.location.href
='{0}',url);?

??????????????Builder.Append(
</script>);?

??????????????page.RegisterStartupScript(message,Builder.ToString());?


?
?????????}
?

?????????
/**////?<summary>?

?????????
///?輸出自定義腳本信息?

?????????
///?</summary>?

?????????
///?<param?name=page>當(dāng)前頁面指針,一般為this</param>?

?????????
///?<param?name=script>輸出腳本</param>?


?????????
public?static?void?ResponseScript(System.Web.UI.Page?page,string?script)?

?????????
{?

??????????????page.RegisterStartupScript(message,
<script?language='javascript'?defer>+script+</script>);?

?????????}
?

?????}



二.頁面數(shù)據(jù)驗(yàn)證類

做項(xiàng)目,特別做MIS,更避免不了有用戶輸入數(shù)據(jù)需要做有效性驗(yàn)證,這里我總結(jié)封裝了一個頁面數(shù)據(jù)校驗(yàn)的工具類,用起來也是很方便。?

?????
/**////?<summary>?

?????
///?頁面數(shù)據(jù)校驗(yàn)類?

?????
///?李天平?

?????
///?2004.8?

?????
///?</summary>?


?????
public?class?PageValidate?

?????
{?

?????????
private?static?Regex?RegNumber?=?new?Regex(^[0-9]+$);?

?????????
private?static?Regex?RegNumberSign?=?new?Regex(^[+-]?[0-9]+$);?

?????????
private?static?Regex?RegDecimal?=?new?Regex(^[0-9]+[.]?[0-9]+$);?

?????????
private?static?Regex?RegDecimalSign?=?new?Regex(^[+-]?[0-9]+[.]?[0-9]+$);?//等價于^[+-]?\d+[.]?\d+$?

?????????
private?static?Regex?RegEmail?=?new?Regex(^[\\w-]+@[\\w-]+\\.(com|net|org|edu|mil|tv|biz|info)$);//w?英文字母或數(shù)字的字符串,和?[a-zA-Z0-9]?語法一樣?

?????????
private?static?Regex?RegCHZN?=?new?Regex([\u4e00-\u9fa5]);?


?
?????????
public?PageValidate()?

?????????
{?

?????????}
?

?????????
數(shù)字字符串檢查#region?數(shù)字字符串檢查???????????????

?????????
/**////?<summary>?

?????????
///?檢查Request查詢字符串的鍵值,是否是數(shù)字,最大長度限制?

?????????
///?</summary>?

?????????
///?<param?name=req>Request</param>?

?????????
///?<param?name=inputKey>Request的鍵值</param>?

?????????
///?<param?name=maxLen>最大長度</param>?

?????????
///?<returns>返回Request查詢字符串</returns>?


?????????
public?static?string?FetchInputDigit(HttpRequest?req,?string?inputKey,?int?maxLen)?

?????????
{?

??????????????
string?retVal?=?string.Empty;?

??????????????
if(inputKey?!=?null?&&?inputKey?!=?string.Empty)?

??????????????
{?

???????????????????retVal?
=?req.QueryString[inputKey];?

???????????????????
if(null?==?retVal)?

???????????????????????retVal?
=?req.Form[inputKey];?

???????????????????
if(null?!=?retVal)?

???????????????????
{?

???????????????????????retVal?
=?SqlText(retVal,?maxLen);?

???????????????????????
if(!IsNumber(retVal))?

????????????????????????????retVal?
=?string.Empty;?

???????????????????}
?

??????????????}
?

??????????????
if(retVal?==?null)?

???????????????????retVal?
=?string.Empty;?

??????????????
return?retVal;?

?????????}
????????

?????????
/**////?<summary>?

?????????
///?是否數(shù)字字符串?

?????????
///?</summary>?

?????????
///?<param?name=inputData>輸入字符串</param>?

?????????
///?<returns></returns>?


?????????
public?static?bool?IsNumber(string?inputData)?

?????????
{?

??????????????Match?m?
=?RegNumber.Match(inputData);?

??????????????
return?m.Success;?

?????????}
????????

?????????
/**////?<summary>?

?????????
///?是否數(shù)字字符串可帶正負(fù)號?

?????????
///?</summary>?

?????????
///?<param?name=inputData>輸入字符串</param>?

?????????
///?<returns></returns>?


?????????
public?static?bool?IsNumberSign(string?inputData)?

?????????
{?

??????????????Match?m?
=?RegNumberSign.Match(inputData);?

??????????????
return?m.Success;?

?????????}
????????

?????????
/**////?<summary>?

?????????
///?是否是浮點(diǎn)數(shù)?

?????????
///?</summary>?

?????????
///?<param?name=inputData>輸入字符串</param>?

?????????
///?<returns></returns>?


?????????
public?static?bool?IsDecimal(string?inputData)?

?????????
{?

??????????????Match?m?
=?RegDecimal.Match(inputData);?

??????????????
return?m.Success;?

?????????}
????????

?????????
/**////?<summary>?

?????????
///?是否是浮點(diǎn)數(shù)可帶正負(fù)號?

?????????
///?</summary>?

?????????
///?<param?name=inputData>輸入字符串</param>?

?????????
///?<returns></returns>?


?????????
public?static?bool?IsDecimalSign(string?inputData)?

?????????
{?

??????????????Match?m?
=?RegDecimalSign.Match(inputData);?

??????????????
return?m.Success;?

?????????}
?

?????????
#endregion
?


?
?????????
中文檢測#region?中文檢測?

?????????
/**////?<summary>?

?????????
///?檢測是否有中文字符?

?????????
///?</summary>?

?????????
///?<param?name=inputData></param>?

?????????
///?<returns></returns>?


?????????
public?static?bool?IsHasCHZN(string?inputData)?

?????????
{?

??????????????Match?m?
=?RegCHZN.Match(inputData);?

??????????????
return?m.Success;?

?????????}
?

?????????
#endregion
?


?
?????????
郵件地址#region?郵件地址?

?????????
/**////?<summary>?

?????????
///?是否是浮點(diǎn)數(shù)可帶正負(fù)號?

?????????
///?</summary>?

?????????
///?<param?name=inputData>輸入字符串</param>?

?????????
///?<returns></returns>?


?????????
public?static?bool?IsEmail(string?inputData)?

?????????
{?

??????????????Match?m?
=?RegEmail.Match(inputData);?

??????????????
return?m.Success;?

?????????}
?

?????????
#endregion
?


?
?????????
其他#region?其他?

?????????
/**////?<summary>?

?????????
///?檢查字符串最大長度,返回指定長度的串?

?????????
///?</summary>?

?????????
///?<param?name=sqlInput>輸入字符串</param>?

?????????
///?<param?name=maxLength>最大長度</param>?

?????????
///?<returns></returns>??????????


?????????
public?static?string?SqlText(string?sqlInput,?int?maxLength)?

?????????
{?????????????

??????????????
if(sqlInput?!=?null?&&?sqlInput?!=?string.Empty)?

??????????????
{?

???????????????????sqlInput?
=?sqlInput.Trim();?????????????????????????????

???????????????????
if(sqlInput.Length?>?maxLength)//按最大長度截取字符串?

???????????????????????sqlInput?
=?sqlInput.Substring(0,?maxLength);?

??????????????}
?

??????????????
return?sqlInput;?

?????????}
????????

?????????
/**////?<summary>?

?????????
///?字符串編碼?

?????????
///?</summary>?

?????????
///?<param?name=inputData></param>?

?????????
///?<returns></returns>?


?????????
public?static?string?HtmlEncode(string?inputData)?

?????????
{?

??????????????
return?HttpUtility.HtmlEncode(inputData);?

?????????}
?

?????????
/**////?<summary>?

?????????
///?設(shè)置Label顯示Encode的字符串?

?????????
///?</summary>?

?????????
///?<param?name=lbl></param>?

?????????
///?<param?name=txtInput></param>?


?????????
public?static?void?SetLabel(Label?lbl,?string?txtInput)?

?????????
{?

??????????????lbl.Text?
=?HtmlEncode(txtInput);?

?????????}
?

?????????
public?static?void?SetLabel(Label?lbl,?object?inputObj)?

?????????
{?

??????????????SetLabel(lbl,?inputObj.ToString());?

?????????}
????????


?
?????????
#endregion
?

}
?
在Textbox的輸入中﹐我們常常需要控制輸入的類型﹐比如說只能輸入數(shù)字﹐當(dāng)然實(shí)現(xiàn)的方法很多﹐我總結(jié)了一下我做過的一些項(xiàng)目﹐我常會使用以下這三種﹕
1﹑使用TryCatch
????????
private?static?bool?IsNumeric(string?itemValue,int?intFLag)
????????
{
????????????
try
????????????
{
????????????????
int?i?=?Convert.ToInt32(itemValue);
????????????????
return?true;
????????????}

????????????
catch
????????????
{
????????????????
return?false;
????????????}

????????}
2﹑使用正則表達(dá)式
using?System.Text.RegularExpressions;
????????
?????????
private?static?bool?IsNumeric(string?itemValue)?
????????
{
????????????
return?(IsRegEx("^(-?[0-9]*[.]*[0-9]{0,3})$",?itemValue));
????????}
?

????????
private?static?bool?IsRegEx(string?regExValue,?string?itemValue)?
????????
{
????????????
try?
????????????
{
????????????????Regex?regex?
=?new?System.Text.RegularExpressions.Regex(regExValue);
????????????????
if?(regex.IsMatch(itemValue))?return?true;
????????????????
else??????????????????????????return?false;
????????????}

????????????
catch?(Exception?)?
????????????
{
????????????????
return?false;
????????????}

????????????
finally?
????????????
{
????????????}

????????}


3﹑判斷輸入的keyCode
????????
public?static?bool?IsNumeric(System.Windows.Forms.KeyPressEventArgs?e)
????????
{
????????????
if?((e.KeyChar??>=?(char)48?&&?e.KeyChar<=(char)57)?||?
?????????????????e.KeyChar?
==(char)8?||?e.KeyChar?==(char)45?||?e.KeyChar?==(char)47)
????????????
{
????????????}

????????????
else
????????????
{
????e.Handled
=true;??
????????????}

????????????
return?true;
????????}
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的C#函数实现的小功能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。