C#非泛型集合类

编程入门 行业动态 更新时间:2024-10-23 04:46:12

C#<a href=https://www.elefans.com/category/jswz/34/1606346.html style=非泛型集合类"/>

C#非泛型集合类

本例创建一个电话本,使用HashTable存储电话信息,每个人的姓名和电话作为一个整体存储,使用姓名作为键值,可以根据姓名查询电话号码。
1、创建控制台应用程序。
2、建立一个电话本类TelNote,此类只包括电话本中的姓名,电话号字段和属性。
3、建立一个编辑电话本类TelNoteEdit,此类中完成电话本的操作,包括存在电话本信息,根据姓名查找电话号码等功能。
4、在主函数中调用上面类和方法,实现电话本编辑功能。

using System;
using System.Collections;


//创建电话本类,属性有姓名和电话
public class TelNote
{
private string name; //姓名

public string Name
{
    get
    {
      return name;
    }
    set
    {
      name = value;
    }
}
private string number; //电话

public string Number
{
    get
    {
      return number;
    }
    set
    {
      number = value;
    }
}

}

public class TelNoteEdit
{
//创建哈希表
public Hashtable httels = new Hashtable();
//添加电话信息
public void Add(TelNote tel)
{
    //如果电话本为空则存储电话
    if (httels.Count == 0)
    {
      // Hashtable ht = new Hashtable();
      httels.Add(tel.Name, tel);
    }
    else
    {
      //如果电话本不为空,检查是否存在该姓名
      if (httels.Contains(tel.Name))
      {
        //如果存在则修改其电话
        httels[tel.Name] = tel.Number;

      }
      else
      {
        //如果不存在,则新建电话信息
        httels.Add(tel.Name, tel);

      }
    }

}
//根据姓名返回电话信息
public TelNote GetByName(string name)
{
    foreach (Object tel in httels.Values)
    {
      TelNote mytel = (TelNote)tel;
      if (name == mytel.Name)
      {
        return mytel;
      }
    }
    return null;

}

}

class Program
{
static void Main(string[]args)
{
    //创建两个TelNote对象
    TelNote mytel1 = new TelNote();
    mytel1.Name = "范跑跑";
    mytel1.Number = "81161234";
    TelNote mytel2 = new TelNote();
    mytel2.Name = "郭跳跳";
    mytel2.Number = "62337878";
    //将信息添加到哈希表中
    TelNoteEdit teledit = new TelNoteEdit();
    teledit.Add(mytel1);
    teledit.Add(mytel2);
    Console.WriteLine("哈希表中元素的个数为{0}", teledit.httels.Count);
    foreach (DictionaryEntry myde in teledit.httels)
    {
      Console.WriteLine("\t{0}\t{1}", myde.Key, myde.Value);
    }

//显示电话本的姓名和电话

foreach (object obj in teledit.httels.Values)
            {
                TelNote tn = (TelNote)obj;
                Console.WriteLine("\t{0}\t{1}", tn.Name, tn.Number);
            }
    //查询范跑跑的电话
    TelNote mytel = teledit.GetByName("范跑跑");
    Console.WriteLine("{0}的电话是{1}", mytel.Name, mytel.Number);
    Console.ReadKey();

}
}

转载于:.html

更多推荐

C#非泛型集合类

本文发布于:2024-03-07 03:41:50,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1716749.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:非泛型

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!