设计一个简单的Windows应用程序,使用Foreach语句实现电话簿联系人的添加与查询功能,在添加功能块中,实现用户名与电话号码的添加,并判定电话簿是否已经满了;在联系人查询模块中,输入姓名即可显示对应的号码,若联系人不存在,则输出提示信息
时间: 2024-12-02 16:29:07 浏览: 17
要设计一个简单的Windows应用程序,使用C#和WPF(Windows Presentation Foundation)实现电话簿的功能,我们可以创建一个`Contact`类来存储联系人信息,以及一个`PhoneBook`类来管理这些联系人。以下是一个基础的实现:
```csharp
using System;
using System.Collections.Generic;
// 定义Contact类
public class Contact
{
public string UserName { get; set; }
public string PhoneNumber { get; set; }
// 构造函数
public Contact(string userName, string phoneNumber)
{
UserName = userName;
PhoneNumber = phoneNumber;
}
}
// 定义PhoneBook类
public class PhoneBook
{
private const int MaxContacts = 5; // 设置电话簿的最大容量
private List<Contact> contacts = new List<Contact>();
// 添加联系人
public void AddContact(string userName, string phoneNumber)
{
if (contacts.Count >= MaxContacts)
{
Console.WriteLine("电话簿已满,无法添加更多联系人。");
return;
}
Contact newContact = new Contact(userName, phoneNumber);
contacts.Add(newContact);
Console.WriteLine($"成功添加联系人 - 用户名: {newContact.UserName}, 电话号码: {newContact.PhoneNumber}");
}
// 查询联系人
public void SearchContact(string userName)
{
Contact foundContact = contacts.Find(c => c.UserName == userName);
if (foundContact != null)
{
Console.WriteLine($"找到的电话号码: {foundContact.PhoneNumber}");
}
else
{
Console.WriteLine($"未找到该联系人: {userName}");
}
}
}
// 主程序入口
class Program
{
static void Main()
{
PhoneBook phoneBook = new PhoneBook();
Console.WriteLine("欢迎使用电话簿应用!");
while (true) // 示例中的无限循环,实际应用应有退出机制
{
Console.Write("\n请输入操作:1. 添加联系人 2. 搜索联系人 3. 退出\n");
switch (Console.ReadLine())
{
case "1":
Console.Write("请输入用户名: ");
string userName = Console.ReadLine();
Console.Write("请输入电话号码: ");
string phoneNumber = Console.ReadLine();
phoneBook.AddContact(userName, phoneNumber);
break;
case "2":
Console.Write("请输入搜索的用户名: ");
string searchUserName = Console.ReadLine();
phoneBook.SearchContact(searchUserName);
break;
case "3":
return;
default:
Console.WriteLine("无效的操作,请重新选择。");
break;
}
}
}
}
```
在这个例子中,我们使用了`Foreach`语句通常用于遍历集合,但这里由于电话簿的添加和查询操作主要是单个元素操作,所以更适合用`while`循环。`Foreach`在查询场景下更合适,但如果涉及到增删改查多个联系人,那么可能会用到。
阅读全文