的編號。 string[] employeeIDs = { "12345", "67890", "98765" }; string[,] c = { };// 宣告二維字串陣列(多維陣列) //實際應用:員工資訊(包含員工們的編號、姓名、性別、年齡、職位、薪資、權限等)。 string[,] employeeInfo = { { "小明", "12345", "男", "25", "工程師", "50000", "管理" }, {"小華", "67890", "女", "30", "設計師", "60000", "行政" } }; string[][] d = { };//宣告不規則陣列 //實際應用:此大樓內的公司有幾間分公司、幾間辦公室、幾間廠房、幾間廚房、幾間休息室、幾間教室等等。 //如何應對不同需求使用不同的工具來放置資料? string[][] buildingInfo = new string"> 的編號。 string[] employeeIDs = { "12345", "67890", "98765" }; string[,] c = { };// 宣告二維字串陣列(多維陣列) //實際應用:員工資訊(包含員工們的編號、姓名、性別、年齡、職位、薪資、權限等)。 string[,] employeeInfo = { { "小明", "12345", "男", "25", "工程師", "50000", "管理" }, {"小華", "67890", "女", "30", "設計師", "60000", "行政" } }; string[][] d = { };//宣告不規則陣列 //實際應用:此大樓內的公司有幾間分公司、幾間辦公室、幾間廠房、幾間廚房、幾間休息室、幾間教室等等。 //如何應對不同需求使用不同的工具來放置資料? string[][] buildingInfo = new string"> 的編號。 string[] employeeIDs = { "12345", "67890", "98765" }; string[,] c = { };// 宣告二維字串陣列(多維陣列) //實際應用:員工資訊(包含員工們的編號、姓名、性別、年齡、職位、薪資、權限等)。 string[,] employeeInfo = { { "小明", "12345", "男", "25", "工程師", "50000", "管理" }, {"小華", "67890", "女", "30", "設計師", "60000", "行政" } }; string[][] d = { };//宣告不規則陣列 //實際應用:此大樓內的公司有幾間分公司、幾間辦公室、幾間廠房、幾間廚房、幾間休息室、幾間教室等等。 //如何應對不同需求使用不同的工具來放置資料? string[][] buildingInfo = new string">
using System;
using System.Collections.Generic;
using System.Collections;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Globalization;
namespace _20240903
{
internal class Program
{
static void P0_複習昨日作業()
{
string a = "字串變數";
//實際應用:員工編號
string employeeID = "12345";
string[] b = { "一維的字串陣列", "字串陣列", "這是另一個字串" };
//實際應用:員工<們>的編號。
string[] employeeIDs = { "12345", "67890", "98765" };
string[,] c = { };// 宣告二維字串陣列(多維陣列)
//實際應用:員工資訊(包含員工們的編號、姓名、性別、年齡、職位、薪資、權限等)。
string[,] employeeInfo = {
{ "小明", "12345", "男", "25", "工程師", "50000", "管理" },
{"小華", "67890", "女", "30", "設計師", "60000", "行政" }
};
string[][] d = { };//宣告不規則陣列
//實際應用:此大樓內的公司有幾間分公司、幾間辦公室、幾間廠房、幾間廚房、幾間休息室、幾間教室等等。
//如何應對不同需求使用不同的工具來放置資料?
string[][] buildingInfo = new string[2][];
buildingInfo[0] = new string[3] { "一號公司", "辦公室一號", "辦公室二號" };
buildingInfo[1] = new string[4] { "二號公司", "辦公室三號", "辦公室四號", "天臺" };
//A大樓有一號公司與二號公司兩間,一號公司內有兩間辦公室(辦公室一號、辦公室二號)
//上面有一個問題,一號二號公司不應該跟辦公室放在一起。
//一樣都是Length,不同物件呼叫時也會有不同表示
Console.WriteLine("呼叫string變數長度:" + employeeID.Length); //5,因為字串變數裡有5個字元
Console.WriteLine("呼叫陣列長度:" + employeeIDs.Length);//3,因為陣列裡有3個元素
Console.WriteLine("呼叫二維陣列的列數:" + employeeInfo.GetLength(0));//2,因為二維陣列有2列
Console.WriteLine("呼叫不規則陣列的列數:" + buildingInfo.Length);//2,因為不規則陣列有2個元素(兩個陣列)
}
static void P1_練習_計算收入()
// 希望產生的結果如圖所示,請協助計算各區營業所的收入
// "台北", "台中", "高雄"
// "點心部", "飲料部", "小吃部", "文具部"
{
//宣告地區
string[] areas = { "台北", "台中", "高雄","其他" }; //宣告地區,台北為0、台中為1、高雄為2
//宣告業務項目
string[] businessItems = { "點心部", "飲料部", "小吃部", "文具部" };
//宣告各區營業收入
int[][] businessIncome = new int[4][];//三個地區的營業收入
businessIncome[0] = new int[3] { 1100, 2200, 3300, };//台北的營業收入
businessIncome[1] = new int[2] { 2200, 4400 };//台中的營業收入
businessIncome[2] = new int[4] { 1000, 2000, 3000, 4000 };//高雄的營業收入
businessIncome[3] = new int[4] { 3200,4120,5000,2420};//其他的營業收入
//輸出各區營業收入表格
//輸出表格標題(依照業務項目順序)
for (int i = 0; i < businessItems.Length; i++)//列印業務項目標題,依序為點心部、飲料部、小吃部、文具部
{
//第一格留空
Console.Write("\\t"+businessItems[i]);
}
Console.WriteLine("\\n--------------------------------------------");
//輸出各地區營業收入
for (int i = 0; i < areas.Length; i++)//先列印地區(不換行),內部for迴圈列印各業務項目(換行)
{
Console.Write(areas[i] + "\\t");//列印地區名稱
for (int k = 0; k < businessIncome[i].Length; k++) //列印各業務項目收入(不換行)
{
Console.Write(businessIncome[i][k] + "\\t");
}
Console.WriteLine();//結束迴圈(地區+業務項目)後換行
}
Console.WriteLine("\\n--------------------------------------------");
//計算各區總營業收入
int[] totalIncome = new int[areas.Length];//總營業收入
for (int i = 0; i < areas.Length; i++)//依照地區分隔後計算總營業收入
{
for (int k = 0; k < businessIncome[i].Length; k++)
{
totalIncome[i] += businessIncome[i][k];//總營業收入加總各地區各業務項目收入
}
}
//輸出總營業收入
Console.WriteLine("總營業收入:");
for (int i = 0; i < areas.Length; i++)
{
//將金額添加三位一點的逗點
string totalIncomeStr = totalIncome[i].ToString("N0");//將總營業收入轉換為字串,並添加三位一點的逗點
Console.WriteLine(areas[i] + "總金額:NT$" + totalIncomeStr);
}
Console.WriteLine("\\n--------------------------------------------");
//計算各業務項目總營業收入
int[] totalBusinessIncome = new int[areas.Length];//總營業收入
for (int i = 0; i < areas.Length; i++)//依照地區分隔後計算總營業收入
{
for (int k = 0; k < businessIncome[i].Length; k++)
{
totalBusinessIncome[k] += businessIncome[i][k];//總營業收入加總各地區各業務項目收入
}
}
//輸出總營業收入
Console.WriteLine("\\n各業務項目總營業收入:");
for (int i = 0; i < businessItems.Length; i++)
{
//將金額添加三位一點的逗點
string totalBusinessIncomeStr = totalBusinessIncome[i].ToString("N0");//將總營業收入轉換為字串,並添加三位一點的逗點
Console.WriteLine(businessItems[i] + "總金額:NT$" + totalBusinessIncomeStr);
}
}
static void P2_清單和清單方法() {
// 結構: List<資料型態> 變數名稱 = new List<資料型態>();
// 討論如何取得資料、刪除資料、修改資料
List<int> aaaaa = new List<int>();
aaaaa.Add(01);
aaaaa.Add(02);
aaaaa.Add(03);
aaaaa.Add(04);
aaaaa.Add(05);
aaaaa.Add(06);
aaaaa.Add(07);
aaaaa.Add(08);
aaaaa.Add(09);
//如何取得?方法一:
Console.WriteLine(aaaaa[0] + "," + aaaaa[1]);
//如何取得?方法二 for:
for (int i = 0; i < aaaaa.Count; i++)//使用List時不使用Length,而是使用Count
{
Console.Write("for方法:"+aaaaa[i] + ",\\n");
}
//如何取得?方法三 foreach:
foreach (int item in aaaaa)
{
Console.Write("foreach方法:"+item + ",\\n");
}
//如何取得?方法四 join:
Console.WriteLine("join方法:\\n" + string.Join(",\\n", aaaaa.ToArray()));
//要記得List要變更之前,一定要先Add,不然會超過範圍。
// string a -> ""
// string[] b -> new or {} ->[]
// string[ , ] c -> new or {} ->[.]
// string[ ][ ] d -> new -> new or {} ->[][]
//------------------------------------------------------
//List< > e -> new -> add() ->呼叫 Add()方法
//arrayList f -> new
//如何刪除資料?
aaaaa.Remove(08); //刪除指定值
aaaaa.RemoveAt(1); //刪除指定索引值(刪除第2個)
aaaaa.RemoveAll(x => x > 9);//刪除指定條件的資料(大於3000的)
//刪除完後,List的長度會減少,但索引值不會變化。
aaaaa.RemoveRange(4, 2); //刪除指定範圍的資料(從0開始,刪除2筆)
Console.WriteLine("刪除後的List:" + string.Join(",\\n", aaaaa.ToArray()));
//aaaaa.Clear(); //清空整個List
}
static void P3_討論陣列和清單()
{
// 陣列和清單的差異
// 陣列:
// 固定大小,且只能存放特定型別的資料
//多維陣列:
// 固定大小的二維陣列,但可以存放不同型別的資料
//不規則陣列:
//清單:
//不固定大小與內容,可以存放不同型別的資料
}
static void P4_陣列清單()
{
ArrayList arrayList = new ArrayList(); //宣告ArrayList,記得要引用System.Collections
arrayList.Add(10);
arrayList.Add("Hello");
arrayList.Add(true);
arrayList.Add(3.14);
arrayList.Add(new DateTime(2021, 1, 1));
//arrayList.Add(null); //null值也能存入ArrayList
Console.WriteLine(arrayList[0]);
Console.WriteLine(arrayList[1]);
Console.WriteLine(arrayList[2]);
//方法二 for:
for (int i = 0; i < arrayList.Count; i++)//使用ArrayList時不使用Length,而是使用Count
{
Console.Write("for方法:" + arrayList[i] + ",\\n");
}
//方法三 foreach:
foreach (object item in arrayList) //這邊用var或者object都可以
{
Console.Write("foreach方法:" + item + ",\\n");
}
//方法四 join:
Console.WriteLine("join方法:\\n" + string.Join(",\\n", arrayList.ToArray()));//轉換成陣列再用join,因為不可以單純呼叫不轉換
arrayList.Remove(10);//刪除指定值
arrayList.RemoveAt(1);//刪除指定索引值(刪除第2個)
arrayList.RemoveRange(1, 2);//刪除指定範圍的資料(從2開始,刪除2筆)
arrayList.Clear(); //清空ArrayList
}
static void Main(string[] args)
{
//P0_複習昨日作業();
//P1_練習_計算收入();
//P2_清單和清單方法();
//P3_討論陣列和清單();
P4_陣列清單();
}
}
}