国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

幾個C#編程的小技巧 (二)

2024-07-21 02:18:40
字體:
供稿:網(wǎng)友
一、判斷文件或文件夾是否存在
使用system.io.file,要檢查一個文件是否存在非常簡單:
bool exist = system.io.file.exists(filename);

如果需要判斷目錄(文件夾)是否存在,可以使用system.io.directory:
bool exist = system.io.directory.exists(foldername);

二、使用delegate類型設(shè)計自定義事件
在c#編程中,除了method和property,任何class都可以有自己的事件(event)。定義和使用自定義事件的步驟如下:
(1)在class之外定義一個delegate類型,用于確定事件程序的接口
(2)在class內(nèi)部,聲明一個public event變量,類型為上一步驟定義的delegate類型
(3)在某個method或者property內(nèi)部某處,觸發(fā)事件
(4)client程序中使用+=操作符指定事件處理程序


例子: // 定義delegate類型,約束事件程序的參數(shù)
public delegate void myeventhandler(object sender, long linenumber) ;

public class dataimports
{
// 定義新事件newlineread
public event myeventhandler newlineread ;

public void importdata()
{
long i = 0 ; // 事件參數(shù)
while()
{
i++ ;
// 觸發(fā)事件
if( newlineread != null ) newlineread(this, i);
//...
}
//...
}
//...
}

// 以下為client代碼

private void callmethod()
{
// 聲明class變量,不需要withevents
private dataimports _da = null;
// 指定事件處理程序
_da.newlineread += new myeventhandler(this.da_enternewline) ;
// 調(diào)用class方法,途中會觸發(fā)事件
_da.importdata();
}
// 事件處理程序
private void da_enternewline(object sender, long linenumber)
{
// ...
}


三、ip與主機名解析
使用system.net可以實現(xiàn)與ping命令行類似的ip解析功能,例如將主機名解析為ip或者反過來: private string gethostnamebyip(string ipaddress)
{
iphostentry hostinfo = dns.gethostbyaddress(ipaddress);
return hostinfo.hostname;
}
private string getipbyhostname(string hostname)
{
system.net.iphostentry hostinfo = dns.gethostbyname(hostname);
return hostinfo.addresslist[0].tostring();
}





發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 德钦县| 千阳县| 汝南县| 海淀区| 安阳市| 宜川县| 家居| 三都| 湘西| 宝鸡市| 武城县| 滦南县| 浦北县| 抚顺县| 襄城县| 新民市| 崇州市| 阿图什市| 辉县市| 忻城县| 平度市| 綦江县| 海口市| 汝南县| 新绛县| 西乌| 泾川县| 会宁县| 玛纳斯县| 万宁市| 调兵山市| 当阳市| 波密县| 浦城县| 兴海县| 乌拉特前旗| 津南区| 容城县| 板桥市| 会泽县| 鄄城县|