明志唯新

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:\temp\test.txt

        FileStream fs = new FileStream(@"c:\temp\test.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:\temp\test.txt

        FileStream fs = new FileStream(@"c:\temp\test.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("\r{0}", DateTime.Now);
    }
}

七、调用外部程序:

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

八、连接 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:\test.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:\n{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:\test.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:\test.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程序:

<%@Page Language="C#" %>
<script runat="server">
void Button1_Click(Objectsender, EventArgs e)
{
    Label1.Text=TextBox1.Text;
}
</script>
<html>
    <head>
    </head>
    <body>
        <form runat="server">
            <p>
                Enteryour 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程序:

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(8, 16);
        this.button1.Name = "button1";
        this.button1.Size = new System.Drawing.Size(80, 24);
        this.button1.TabIndex = 0;
        this.button1.Text = "button1";

        // textBox1
        this.textBox1.Location = new System.Drawing.Point(112, 16);
        this.textBox1.Name = "textBox1";
        this.textBox1.Size = new System.Drawing.Size(160, 20);
        this.textBox1.TabIndex = 1;
        this.textBox1.Text = "textBox1";

        // Form1
        this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
        this.ClientSize = new System.Drawing.Size(292, 273);
        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:\temp\app.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+入门介绍:

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(5, 13);
        this.ClientSize = new System.Drawing.Size(292, 273);
        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文件:

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 的小例子:

using System.Web.Services;

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