您的位置:首页 > 其它

初识.net界面程序(7)——泛型和LINQ练习

2017-05-14 22:53 316 查看
编写一个windows窗口应用程序,完成以下功能

(1)定义一个Person类

+ 类中包含姓名、年龄、手机号码3个属性值,年龄范围在15~130之间,手机号码为11位

+ 类中仅包含无参的默认构造函数

+ 为Person类添加一个Print方法,在一行中输出实例的3个属性值

(2)在主窗体的代码实现中,定义一个Person类的泛型列表并赋初值,然后循环用LINQ分别查询用户指定的查询信息,并将查询结果显示出来



//Person类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace A._4._1
{
class Person
{
public string Name { get; set; }
public int Age { get; set; }
public string Phone { get; set; }

public Person()
{
this.Age = 25;
this.Name = "张三";
this.Phone = "17862728338";
}

}
}


//主函数
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace A._4._1
{
public partial class Form1 : Form
{
List<Person> list = new List<Person>()
{
new Person{Name="王二", Phone="17862728998",Age=17},
new Person{Name="张三", Phone="17862728998",Age=15},
new Person{Name="李四", Phone="17862728998",Age=21}
};

public Form1()
{
InitializeComponent();
}

public void show1()
{
var q = from n in list select n;
StringBuilder sb = new StringBuilder();
sb.AppendLine("姓名" + "\t" + "年龄" + "\t" + "手机号码");
foreach(var v in q)
{
sb.AppendLine(v.Print());
}
textBox1.Text = sb.ToString();
}
public void show2()
{
var q = from n in list where n.Age>=18&&n.Age<=25 select n;
StringBuilder sb = new StringBuilder();
sb.AppendLine("姓名" + "\t" + "年龄" + "\t" + "手机号码");
foreach (var v in q)
{
sb.AppendLine(v.Print());
}
textBox1.Text = sb.ToString();
}

public void show3()
{
var q = from n in list where n.Name[0]=='李' select n;
StringBuilder sb = new StringBuilder();
sb.AppendLine("姓名" + "\t" + "年龄" + "\t" + "手机号码");
foreach (var v in q)
{
sb.AppendLine(v.Print());
}
textBox1.Text = sb.ToString();
}

private void radioButton1_CheckedChanged(object sender, EventArgs e)
{
RadioButton r = sender as RadioButton;
if (r.Checked == true)
{
switch (r.Text)
{
case "显示所有的人员信息":
show1();
break;
case "显示年龄在18~25之间的人员信息":
show2();
break;
case "显示姓李的人员信息":
show3();
break;

}
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  .net 界面 泛型 linq windows