C#入门二十五个代码小例子

本文提供了一系列 C# 编程中的实用技巧,包括控制台输入输出、文件操作、数据库交互、网络应用开发等核心内容,适用于初学者及有一定经验的开发者。
一、从控制台读取东西代码片断:
using System;

class TestReadConsole
{
    
public static void Main()
    {
        Console.Write(Enter your name:);
        
string strName = Console.ReadLine();
        Console.WriteLine( Hi 
+ strName);
    }
}

二、读文件代码片断:
using System; 
using System.IO; 

public class TestReadFile 

    
public static void Main(String[] args) 
    { 
        
// Read text file C: emp est.txt 
        FileStream fs = new FileStream(@c: emp est.txt , FileMode.Open, FileAccess.Read); 
        StreamReader sr 
= new StreamReader(fs);  
        
        String line
=sr.ReadLine();
        
while (line!=null)
        {
            Console.WriteLine(line);
            line
=sr.ReadLine();
        }   
        
        sr.Close();
        fs.Close();
    } 


三、写文件代码:
using System; 
using System.IO; 

public class TestWriteFile 

    
public static void Main(String[] args) 
    { 
        
// Create a text file C: emp est.txt 
        FileStream fs = new FileStream(@c: emp est.txt , FileMode.OpenOrCreate, FileAccess.Write); 
        StreamWriter sw 
= new StreamWriter(fs); 
        
// Write to the file using StreamWriter class 
        sw.BaseStream.Seek(0, SeekOrigin.End); 
        sw.WriteLine( First Line ); 
        sw.WriteLine( Second Line); 
        sw.Flush(); 
    } 


四、拷贝文件:
using System;
using System.IO;

class TestCopyFile
{
    
public static void Main()
    {
        File.Copy(c:/temp/source.txt, C:/temp/dest.txt );  
    }
}

五、移动文件:
using System;
using System.IO;

class TestMoveFile
{
    
public static void Main()
    {
        File.Move(c:/temp/abc.txt, C:/temp/def.txt );  
    }
}

六、使用计时器:
using System;
using System.Timers;

class TestTimer
{
    
public static void Main()
    {
        Timer timer 
= new Timer();

    timer.Elapsed 
+= new ElapsedEventHandler( DisplayTimeEvent );
        timer.Interval 
= 1000;
        timer.Start();
        timer.Enabled 
= true;

        
while ( Console.Read() != 'q' )
        {
             
//-------------
        }
    }
    
public static void DisplayTimeEvent( object source, ElapsedEventArgs e )
    {
        Console.Write( {
0}, DateTime.Now);
    }
}

七、调用外部程序:
class Test 

    
static void Main(string[] args) 
    { 
        System.Diagnostics.Process.Start(notepad.exe); 
    } 
}

ADO.NET方面的:
八、连接Access数据库:
using System;
using System.Data;
using System.Data.OleDb;

class TestADO
{
    
static void Main(string[] args)
    {
        
string strDSN = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:/test.mdb;
        
string strSQL = SELECT * FROM employees ;

        OleDbConnection conn 
= new OleDbConnection(strDSN);
        OleDbCommand cmd 
= new OleDbCommand( strSQL, conn );
        OleDbDataReader reader 
= null;
        
try
        {
            conn.Open();
            reader 
= cmd.ExecuteReader();
            
while (reader.Read() )
            {
                Console.WriteLine(First Name:{
0}, Last Name:{1}, reader[FirstName], reader[LastName]);
            }
        }
        
catch (Exception e)
        {
            Console.WriteLine(e.Message);
        }
        
finally
        {
            conn.Close();
        }
    }


九、连接SQL Server数据库:
using System;
using System.Data.SqlClient;

public class TestADO
{
    
public static void Main()
    {
        SqlConnection conn 
= new SqlConnection(Data Source=localhost; Integrated Security=SSPI; Initial Catalog=pubs);

SqlCommand  cmd 
= new SqlCommand(SELECT * FROM employees, conn);
        
try
        {        
            conn.Open();

            SqlDataReader reader 
= cmd.ExecuteReader();            
            
while (reader.Read())
            {
                Console.WriteLine(First Name: {
0}, Last Name: {1}, reader.GetString(0), reader.GetString(1));
            }
        
            reader.Close();
            conn.Close();
        }
        
catch(Exception e)
        {
            Console.WriteLine(Exception Occured 
-->> {0},e);
        }        
    }
}

十、从SQL内读数据到XML:
using System;
using System.Data;
using System.Xml;
using System.Data.SqlClient; 
using System.IO; 

public class TestWriteXML

    
public static void Main()
    { 

        String strFileName
=c:/temp/output.xml;

        SqlConnection conn 
= new SqlConnection(server=localhost;uid=sa;pwd=;database=db);

        String strSql 
= SELECT FirstName, LastName FROM employees; 

        SqlDataAdapter adapter 
= new SqlDataAdapter(); 

        adapter.SelectCommand 
= new SqlCommand(strSql,conn);

        
// Build the DataSet
        DataSet ds = new DataSet();

        adapter.Fill(ds, employees);

        
// Get a FileStream object
        FileStream fs = new FileStream(strFileName,FileMode.OpenOrCreate,FileAccess.Write);

        
// Apply the WriteXml method to write an XML document
        ds.WriteXml(fs);

        fs.Close();

    }
}

十一、用ADO添加数据到数据库中:
using System;
using System.Data;   
using System.Data.OleDb;   

class TestADO
{  
    
static void Main(string[] args)  



{  
        
string strDSN = Provider=Microsoft.Jet.OLEDB.4.0;DataSource=c: est.mdb;  
        
string strSQL = INSERT INTO Employee(FirstName, LastName) VALUES('FirstName''LastName') ;  
                   
        
// create Objects of ADOConnection and ADOCommand   
        OleDbConnection conn = new OleDbConnection(strDSN);  
        OleDbCommand cmd 
= new OleDbCommand( strSQL, conn );  
        
try  
        {  
            conn.Open();  
            cmd.ExecuteNonQuery();  
        }  
        
catch (Exception e)  
        {  
            Console.WriteLine(Oooops. I did it again: {
0}, e.Message);  
        }  
        
finally  
        {  
            conn.Close();  
        }          
    } 
}  

十 二、使用OLEConn连接数据库:
using System;
using System.Data;   
using System.Data.OleDb;   

class TestADO
{  
    
static void Main(string[] args)  
    {  
        
string strDSN = Provider=Microsoft.Jet.OLEDB.4.0;DataSource=c: est.mdb;  
        
string strSQL = SELECT * FROM employee ;  

        OleDbConnection conn 
= new OleDbConnection(strDSN);
        OleDbDataAdapter cmd 
= new OleDbDataAdapter( strSQL, conn ); 

        conn.Open();
        DataSet ds 
= new DataSet();
        cmd.Fill( ds, employee );
        DataTable dt 
= ds.Tables[0];

        
foreach( DataRow dr in dt.Rows )
        {
            Console.WriteLine(First name: 
+ dr[FirstName].ToString() + Last name: + dr[LastName].ToString());
        }
        conn.Close();  
    } 
}  
十三、读取表的属性:

using System;
using System.Data;   
using System.Data.OleDb;   

class TestADO
{  
    
static void Main(string[] args)  
    {  
        
string strDSN = Provider=Microsoft.Jet.OLEDB.4.0;DataSource=c: est.mdb;  
        
string strSQL = SELECT * FROM employee ;  

        OleDbConnection conn 
= new OleDbConnection(strDSN);
        OleDbDataAdapter cmd 
= new OleDbDataAdapter( strSQL, conn ); 

        conn.Open();
        DataSet ds 
= new DataSet();
        cmd.Fill( ds, employee );
        DataTable dt 
= ds.Tables[0];

        Console.WriteLine(Field Name DataType Unique AutoIncrement AllowNull);
        Console.WriteLine(
==================================================================);
        
foreach( DataColumn dc in dt.Columns )
        {
            Console.WriteLine(dc.ColumnName
+ , +dc.DataType + ,+dc.Unique + ,+dc.AutoIncrement+ ,+dc.AllowDBNull );
        }
        conn.Close();  
    } 


ASP.NET方面的
十四、一个ASP.NET程序:
<%@ Page Language=C# %>
<script runat=server>
   
    
void Button1_Click(Object sender, EventArgs e) 
    {
        Label1.Text
=TextBox1.Text;
    }

</script>
<html>
<head>
</head>
<body>
    
<form runat=server>
        
<p>
            
<br />
            Enter your name: 
<asp:TextBox id=TextBox1 runat=server></asp:TextBox>
        
</p>
        
<p>
            
<b><asp:Label id=Label1 runat=server Width=247px></asp:Label></b>
        
</p>
        
<p>
            
<asp:Button id=Button1 onclick=Button1_Click runat=server Text=Submit></asp:Button>
        
</p>
    
</form>
</body>
</html>

WinForm开发:
十五、一个简单的WinForm程序:
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;


public class SimpleForm : System.Windows.Forms.Form
{

    
private System.ComponentModel.Container components = null;
    
private System.Windows.Forms.Button button1;
    
private System.Windows.Forms.TextBox textBox1;
    
public SimpleForm()
    {
        InitializeComponent();
    }

    
protected override void Dispose( bool disposing )
    {
        
if( disposing )
        {
            
if (components != null)
            {
                components.Dispose();
            }
        }
        
base.Dispose( disposing );
    }

    
#region Windows Form Designer generated code
    
private void InitializeComponent()
    {

        
this.components = new System.ComponentModel.Container();
        
this.Size = new System.Drawing.Size(300,300);
        
this.Text = Form1;

        
this.button1 = new System.Windows.Forms.Button();
        
this.textBox1 = new System.Windows.Forms.TextBox();
        
this.SuspendLayout(); 
    
//
    
// button1
    
//

    
this.button1.Location = new System.Drawing.Point(816);
    
this.button1.Name = button1;
    
this.button1.Size = new System.Drawing.Size(8024);
    
this.button1.TabIndex = 0;
    
this.button1.Text = button1;

    
//
    
// textBox1
    
//
    this.textBox1.Location = new System.Drawing.Point(11216);
    
this.textBox1.Name = textBox1;
    
this.textBox1.Size = new System.Drawing.Size(16020);
    
this.textBox1.TabIndex = 1;
    
this.textBox1.Text = textBox1;
    
//
    
// Form1
    
//

    
this.AutoScaleBaseSize = new System.Drawing.Size(513);
    
this.ClientSize = new System.Drawing.Size(292273);
    
this.Controls.AddRange(new System.Windows.Forms.Control[] {
    
this.textBox1,
    
this.button1});
    
this.Name = Form1;
    
this.Text = Form1;
    
this.ResumeLayout(false); 

    }
    
#endregion

    [STAThread]

    
static void Main()
    {
        Application.Run(
new SimpleForm());
    } 
}
十六、运行时显示自己定义的图标:
//load icon and set to form
System.Drawing.Icon ico = new System.Drawing.Icon(@c: empapp.ico);
this.Icon = ico;
十七、添加组件到ListBox中:
private void Form1_Load(object sender, System.EventArgs e)
{
    
string str = First item;
    
int i = 23;
    
float flt = 34.98f
    listBox1.Items.Add(str);
    listBox1.Items.Add(i.ToString());
    listBox1.Items.Add(flt.ToString());
    listBox1.Items.Add(Last Item 
in the List Box);


网络方面的:
十八、取得IP地址:
using System;
using System.Net;

class GetIP
{
     
public static void Main()
     {
         IPHostEntry ipEntry 
= Dns.GetHostByName (localhost);
         IPAddress [] IpAddr 
= ipEntry.AddressList;
         
for (int i = 0; i < IpAddr.Length; i++)
         { 
             Console.WriteLine (IP Address {
0}: {1} , i, IpAddr.ToString ());
         }
    }
}
十九、取得机器名称:
using System;
using System.Net;

class GetIP
{
    
public static void Main()
    {
          Console.WriteLine (Host name : {
0}, Dns.GetHostName());
    }
}
二十、发送邮件:
using System;
using System.Web;
using System.Web.Mail;

public class TestSendMail
{
    
public static void Main()
    {
        
try
        {
            
// Construct a new mail message 
            MailMessage message = new MailMessage();
            message.From 
= from@domain.com;
            message.To   
=  pengyun@cobainsoft.com;
            message.Cc   
= ;
            message.Bcc  
= ;
            message.Subject 
= Subject;
            message.Body 
= Content of message;
            
            
//if you want attach file with this mail, add the line below
            message.Attachments.Add(new MailAttachment(c:/attach.txt, MailEncoding.Base64));

 
            
// Send the message
            SmtpMail.Send(message);  
            System.Console.WriteLine(Message has been sent);
        }

        
catch(Exception ex)
        {
            System.Console.WriteLine(ex.Message.ToString());
        }

    }
}
二 
 

十一、根据IP地址得出机器名称:
using System;
using System.Net;

class ResolveIP
{
     
public static void Main()
     {
         IPHostEntry ipEntry 
= Dns.Resolve(172.29.9.9);
         Console.WriteLine (Host name : {
0}, ipEntry.HostName);         
     }
}

GDI
+方面的:
二十二、GDI
+入门介绍:
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

public class Form1 : System.Windows.Forms.Form
{
    
private System.ComponentModel.Container components = null;

    
public Form1()
    {
        InitializeComponent();
    }

    
protected override void Dispose( bool disposing )
    {
        
if( disposing )
        {
            
if (components != null
            {
                components.Dispose();
            }
        }
        
base.Dispose( disposing );
    }

    
#region Windows Form Designer generated code
    
private void InitializeComponent()
    {
        
this.AutoScaleBaseSize = new System.Drawing.Size(513);
        
this.ClientSize = new System.Drawing.Size(292273);
        
this.Name = Form1;
        
this.Text = Form1;
        
this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form1_Paint);
    }
    
#endregion

    [STAThread]
    
static void Main() 
    {
        Application.Run(
new Form1());
    }

    
private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
    {
        Graphics g
=e.Graphics;
        g.DrawLine(
new Pen(Color.Blue),10,10,210,110);
        g.DrawRectangle(
new Pen(Color.Red),10,10,200,100);
        g.DrawEllipse(
new Pen(Color.Yellow),10,150,200,100);
    }
}

XML方面的:
二十三、读取XML文件:
using System;
using System.Xml;  

class TestReadXML
{
    
public static void Main()
    {
        
        XmlTextReader reader  
= new XmlTextReader(C:/test.xml);
        reader.Read();
        
        
while (reader.Read())
        {            
            reader.MoveToElement();
            Console.WriteLine(XmlTextReader Properties Test);
            Console.WriteLine(
===================);  

            
// Read this properties of element and display them on console
            Console.WriteLine(Name: + reader.Name);
            Console.WriteLine(Base URI: 
+ reader.BaseURI);
            Console.WriteLine(Local Name: 
+ reader.LocalName);
            Console.WriteLine(Attribute Count: 
+ reader.AttributeCount.ToString());
            Console.WriteLine(Depth: 
+ reader.Depth.ToString());
            Console.WriteLine(Line Number: 
+ reader.LineNumber.ToString());
            Console.WriteLine(Node Type: 
+ reader.NodeType.ToString());
            Console.WriteLine(Attribute Count: 
+ reader.Value.ToString());
        }        
    }               

二十四、写XML文件:
using System; 
using System.Xml; 

public class TestWriteXMLFile 

    
public static int Main(string[] args) 
    { 
        
try 
        {  
            
// Creates an XML file is not exist 
            XmlTextWriter writer = new XmlTextWriter(C:/temp/xmltest.xml, null); 

           
// Starts a new document 
            writer.WriteStartDocument(); 
            
//Write comments 
            writer.WriteComment(Commentss: XmlWriter Test Program); 
            writer.WriteProcessingInstruction(Instruction,Person Record); 
            
// Add elements to the file 
            writer.WriteStartElement(p, person, urn:person); 
            writer.WriteStartElement(LastName,); 
            writer.WriteString(Chand); 
            writer.WriteEndElement(); 
            writer.WriteStartElement(FirstName,); 
            writer.WriteString(Mahesh); 
            writer.WriteEndElement(); 
            writer.WriteElementInt16(age,, 
25); 
            
// Ends the document 
            writer.WriteEndDocument(); 
        } 
        
catch (Exception e) 
        {  
            Console.WriteLine (Exception: {
0}, e.ToString()); 
        } 
        
return 0
    } 


Web Service方面的:
二十五、一个Web Service的小例子:
<% @WebService Language=C# Class=TestWS %>

using System.Web.Services;

public class TestWS : System.Web.Services.WebService
{
    [WebMethod()]
    
public string StringFromWebService()
    {
        
return This is a string from web service.;
    }



 山东 聊城 茌平
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值