iT邦幫忙

2023 iThome 鐵人賽

DAY 2
0
Software Development

C# 學習之路系列 第 3

[DAY2] [02] C#基礎與實作 (註解. 變數. 迴圈. 條件)

  • 分享至 

  • xImage
  •  

此篇適合稍微知道for, if else, 註解 ...的朋友
能在第二天一起快速了解 C#基礎,並編寫程式

快速導覽

  • C# 程式基礎
    • 註解
      • 單行註解
      • 多行註解
      • XML文件註解
      • pragma註解
    • 變數和資料型別
      • String
    • Switch
    • 條件陳述式
      • 基本if else
      • Short if else
    • 迴圈
      • for
      • foreach
      • do/while
      • while
    • 程式實作練習
  • 參考來源

C# 程式基礎

註解

單行註解

  • 程式範例:
// 這是一個單行註解

多行註解

  • 程式範例:
/*
這是一個多行註解
可以包含多行文字
用於詳細說明程式碼
*/

XML文件註解

  • 程式範例:
/// <summary>
/// 這是一個XML文件註解
/// </summary>
public class MyClass {
    /// <summary>
    /// 這是一個方法的XML文件註解
    /// </summary>
    /// <param name="value">參數的描述</param>
    /// <returns>方法的返回值描述</returns>
    public int MyMethod(int value) {
        return value * 2;
    }
}

Pragama註解

  • 程式範例:
#pragma warning disable 414, 3021
// 這個代碼段不會觸發警告
#pragma warning restore 414, 3021

變數和資料型別:

隱含型別區域變數

在方法範圍中宣告的變數可以有隱含的「類型」 var 。 隱含類型的區域變數是強型別,就像您自己宣告類型一樣,但編譯器會決定類型。 下列程式範例兩個宣告 a  b 在功能上相等:

  • 程式範例:
var a = 10; // Implicitly typed.
int b = 10; // Explicitly typed.

當 var 與啟用 可為 Null 的參考型別 搭配使用時,它一律表示可為 Null 的參考型別,即使運算式類型不可為 Null 也一樣。 編譯器的 Null 狀態分析可防止取值可能 null 的值。 如果變數從未指派給可能為 null 的運算式,編譯器就不會發出任何警告。 如果您將變數指派給可能為 Null 的運算式,則必須在取值之前先測試它不是 Null,以避免任何警告。

String:

  String Length

  •   程式範例:
    string myString = "Hello";
    Console.WriteLine(myString.Length);  // Outputs "5"

  String Interpolation

  •   程式範例:
    string firstName = "John";
    string lastName = "Doe";
    string name = $"My full name is: {firstName} {lastName}";

  IndexOf

  •   程式範例:
    string myString = "Hello";
    Console.WriteLine(myString.IndexOf("e"));  // Outputs "1"

  Substring

  •   程式範例:
    // Full name
    string name = "John Doe";

    // Location of the letter D
    int charPos = name.IndexOf("D");

    // Get last name
    string lastName = name.Substring(charPos);

    // Print the result
    Console.WriteLine(lastName); //Doe

  double使用格式化字符串:

  •   程式範例:
    double num = 3.14159265359;
    string formattedNumA = string.Format("{0:F2}", num);
    string formattedNumB = $"{num:F2}";
    Console.WriteLine(formattedNumA); // 輸出: 3.14
    Console.WriteLine(formattedNumB); // 輸出: 3.14
  •   程式範例:
int age = 30;
double salary = 45000.50;
string name = "John";
bool isStudent = true;

這個範例演示了如何聲明不同型別的變數。

Switch

  •   程式範例:
switch(expression) 
{
  case x:
    // code x
    break;
  case y:
    // code y
    break;
  default:
    // code default
    break;
}

條件陳述式:

  基本if else:

  •   程式範例:
int number = 10;
if (number < 5) {
    Console.WriteLine("Number is < 5.");
} 
else if(number == 5) {
    Console.WriteLine("Number is  5.");
} 
else {
    Console.WriteLine("Number is greater than 5.");
}

  Short if else:

  •   程式範例:
variable = (condition) ? expressionTrue :  expressionFalse;
int a = 1, b = 2;
int c = (a>b) ? (a-b) : (a+b); // int c = 3 (a+b)

迴圈:

  for

  •   程式範例:
    for (int i = 1; i <= 5; i++) {
        Console.WriteLine("Iteration " + i);
    }

  foreach

  •   程式範例:
    string[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
    foreach (string i in cars) //(typevariableName inarrayName)
    {
      Console.WriteLine(i);
    }

  do/while

  •   程式範例:
    do 
    {
      // code block to be executed
    }
    while (condition);

  while

  •   程式範例:
    while (condition) 
    {
      // code block to be executed
      if(true){break;}
    }

這邊範例展示了如何使用迴圈執行一系列迭代。

程式實作練習:

leetcode-1768. Merge Strings Alternately
https://ithelp.ithome.com.tw/upload/images/20230917/20163217a5iaAgsr7Z.png
  以上的解法不是最好的,但可以依照上方的方法學習、練習,
 並期望自己找到更好的方法,持續進步><

參考來源

  1. ChatGPT
  2. C#最強入門邁向頂尖高手之路王者歸來
  3. w3schools C#
  4. leetcode-1768. Merge Strings Alternately

期望挑戰30天持續更新成功 ~ DAY2


上一篇
[DAY2] [01] .NET介紹 與 Visual Studio安裝
下一篇
[DAY3] C#基礎與實作(Array)
系列文
C# 學習之路31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言