首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 入門代碼大全:控制台、檔案、ADO.NET、ASP.NET、WinForms、網路、GDI+、XML、Web Service

     編輯:關於C語言

本文彙整 25 個 C# 經典入門片段,涵蓋主流應用場景,適合快速查閱與學習。

1. 控制台讀取輸入

Console.Write("Enter your name: ");
string name = Console.ReadLine();
Console.WriteLine("Hi " + name);

2. 讀取文字檔 (逐行)

using (FileStream fs = new FileStream(@"c:\temp\test.txt", FileMode.Open, FileAccess.Read))
using (StreamReader sr = new StreamReader(fs))
{
    string line;
    while ((line = sr.ReadLine()) != null)
        Console.WriteLine(line);
}

3. 寫入文字檔

using (FileStream fs = new FileStream(@"c:\temp\test.txt", FileMode.OpenOrCreate, FileAccess.Write))
using (StreamWriter sw = new StreamWriter(fs))
{
    sw.BaseStream.Seek(0, SeekOrigin.End);
    sw.WriteLine("First Line");
    sw.WriteLine("Second Line");
    sw.Flush();
}

4. 複製檔案

File.Copy(@"c:\temp\source.txt", @"c:\temp\dest.txt", true); // true=覆蓋

5. 移動檔案

File.Move(@"c:\temp\abc.txt", @"c:\temp\def.txt");

6. Timer 定時器

Timer timer = new Timer();
timer.Elapsed += (s, e) => Console.Write("\r{0}", DateTime.Now);
timer.Interval = 1000;
timer.Start();
Console.ReadKey(); // 防止主線程結束

7. 啟動外部程式

Process.Start("notepad.exe");

8. 連接 Access (OleDb)

string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\test.mdb;";
using (var conn = new OleDbConnection(connStr))
using (var cmd = new OleDbCommand("SELECT * FROM employees", conn))
{
    conn.Open();
    using (var reader = cmd.ExecuteReader())
        while (reader.Read())
            Console.WriteLine($"First: {reader["FirstName"]}, Last: {reader["LastName"]}");
}

9. 連接 SQL Server

string connStr = "Data Source=localhost;Integrated Security=SSPI;Initial Catalog=pubs;";
using (var conn = new SqlConnection(connStr))
using (var cmd = new SqlCommand("SELECT * FROM employees", conn))
{
    conn.Open();
    using (var reader = cmd.ExecuteReader())
        while (reader.Read())
            Console.WriteLine($"First: {reader.GetString(0)}, Last: {reader.GetString(1)}");
}

10. SQL 查詢結果輸出 XML

using (var conn = new SqlConnection("server=localhost;uid=sa;pwd=;database=db"))
using (var adapter = new SqlDataAdapter("SELECT FirstName, LastName FROM employees", conn))
{
    DataSet ds = new DataSet();
    adapter.Fill(ds, "employees");
    ds.WriteXml(@"c:\temp\output.xml");
}

11. ADO.NET 新增資料

using (var conn = new OleDbConnection(connStr))
using (var cmd = new OleDbCommand("INSERT INTO Employee(FirstName, LastName) VALUES('John','Doe')", conn))
{
    conn.Open();
    cmd.ExecuteNonQuery();
}

12. OleDbDataAdapter 填充 DataSet

using (var conn = new OleDbConnection(connStr))
using (var adapter = new OleDbDataAdapter("SELECT * FROM employee", conn))
{
    DataSet ds = new DataSet();
    adapter.Fill(ds, "employee");
    foreach (DataRow row in ds.Tables[0].Rows)
        Console.WriteLine($"First: {row["FirstName"]}, Last: {row["LastName"]}");
}

13. 讀取資料表結構描述

foreach (DataColumn col in ds.Tables[0].Columns)
    Console.WriteLine($"{col.ColumnName}, {col.DataType}, Unique:{col.Unique}, AutoInc:{col.AutoIncrement}, Nullable:{col.AllowDBNull}");

14. ASP.NET Web Forms 簡單互動

<%@ Page Language="C#" %>

15. WinForms 最小程式

public class SimpleForm : Form
{
    Button btn = new Button { Text = "Click", Location = new Point(8,16) };
    TextBox txt = new TextBox { Location = new Point(112,16), Width = 160 };
    
    public SimpleForm() { Controls.AddRange(new Control[] { txt, btn }); }
    
    [STAThread] static void Main() => Application.Run(new SimpleForm());
}

16. 執行時設定表單圖示

this.Icon = new Icon(@"c:\temp\app.ico");

17. ListBox 添加多型別項目

listBox1.Items.Add("First item");
listBox1.Items.Add(23);
listBox1.Items.Add(34.98f);
listBox1.Items.Add("Last Item");

18. 取得本機 IP 位址

IPHostEntry entry = Dns.GetHostEntry(Dns.GetHostName());
foreach (IPAddress ip in entry.AddressList)
    Console.WriteLine($"IP: {ip}");

19. 取得機器名稱

Console.WriteLine("Host: " + Dns.GetHostName());

20. 發送郵件 (System.Web.Mail - 舊版)

MailMessage msg = new MailMessage();
msg.From = "from@domain.com";
msg.To = "to@domain.com";
msg.Subject = "Subject";
msg.Body = "Body";
SmtpMail.SmtpServer = "smtp.domain.com";
SmtpMail.Send(msg);

現代版:System.Net.Mail.SmtpClient + MailMessage (支援 SSL、認證、附件)

21. IP 反解主機名

IPHostEntry entry = Dns.GetHostEntry("172.29.9.9");
Console.WriteLine("Host: " + entry.HostName);

22. GDI+ 繪圖入門

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

23. 讀取 XML (XmlTextReader)

using (XmlTextReader reader = new XmlTextReader(@"C:\test.xml"))
{
    while (reader.Read())
    {
        reader.MoveToElement();
        Console.WriteLine($"Name: {reader.Name}, Value: {reader.Value}, Type: {reader.NodeType}");
    }
}

24. 寫入 XML (XmlTextWriter)

using (XmlTextWriter writer = new XmlTextWriter(@"C:\temp\xmltest.xml", null))
{
    writer.WriteStartDocument();
    writer.WriteComment("XMLWriter Test");
    writer.WriteStartElement("person");
    writer.WriteElementString("LastName", "Chand");
    writer.WriteElementString("FirstName", "Mahesh");
    writer.WriteElementString("age", "25");
    writer.WriteEndDocument();
}

25. ASMX Web Service 最小範例

<%@ WebService Language="C#" Class="TestWS" %>
using System.Web.Services;

public class TestWS : WebService
{
    [WebMethod]
    public string StringFromWebService() => "This is a string from web service.";
}

現代替代:ASP.NET Core Web API / gRPC / Minimal APIs

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved