請處理以下程式中的 DeleteMembers:
將傳入 DeleteMembers 中的 members 做軟刪除
※ 註:軟刪除就是將 IsDelete 變為 true
並將已刪除的 member id 轉為 List 回傳
class Program
{
static void Main(string[] args)
{
var members = new List<Member>()
{
new Member(1, "Jack"),
new Member(2, "Mark"),
new Member(3, "Tom"),
};
var result = DeleteMembers(members);
Console.ReadLine();
}
/// <summary>
/// 刪除會員
/// </summary>
/// <param name="members"></param>
/// <returns></returns>
public static List<int> DeleteMembers(List<Member> members)
{
List<int> resultIds;
// ******** 作答區 ********
// 1. 軟刪除:將 IsDelete 變為 true
// 2. 將已經刪除的會員 id 回傳出來
// ***********************
return resultIds;
}
/// <summary>
/// 會員
/// </summary>
/// <returns></returns>
public class Member
{
public Member(int id, string name)
{
Id = id;
Name = name;
IsDelete = false;
}
/// <summary>
/// 會員 Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 會員名稱
/// </summary>
public string Name { get; set; }
/// <summary>
/// 是否已刪除
/// </summary>
public bool IsDelete { get; set; }
}
}
/// <summary>
/// 刪除會員
/// </summary>
/// <param name="members">會員列表</param>
/// <returns>已刪除的會員 Id 列表</returns>
public static List<int> DeleteMembers(List<Member> members)
{
// 建立儲存已刪除會員 id 的列表
List<int> resultIds = new List<int>();
// 遍歷會員列表
foreach (var member in members)
{
// 如果會員尚未被刪除
if (!member.IsDelete)
{
// 將 IsDelete 變為 true
member.IsDelete = true;
// 將會員 id 加入已刪除列表
resultIds.Add(member.Id);
}
}
// 回傳已刪除會員 id 列表
return resultIds;
}
public static List<int> DeleteMembers(List<Member> members)
{
members.ForEach(m => m.IsDelete = true);
return members.Select(m=>m.Id).ToList();
}