]我需要使用Windows窗体在C#中编写一个迷你程序 - 我是C#和编程的新手,所以对我来说已经过时了。 假设我有10名医生(laege),我想显示每个医生的信息,如CVR号码,地址,电子邮件等等 - 许多不同的valules(bool,int,strings) 我创建了一个名为praksisOplysninger的课程(医生的信息) 在我的按钮处理程序中添加了一名医生(laege1)。 当用户输入yderNr时,如何显示数据 - 然后需要显示其余信息 - 我为此制作了几个文本框。 现在我收到一个错误调用许多递归 - 我需要在我的医生类中停止我的循环 - 我已经尝试了几个小时 - 请帮助 提前谢谢:)
块引用
**这是我的班级医生 - 我班上的laege1-10 ** laege等于丹麦的医生;)现在我收到一个递归错误..我怎么能停止循环?按钮处理程序中的代码没有错误。
`laegeInfo laege1 = new laegeInfo()
{
yderNr = 012345,
navn = "Johannes Andersen",
CVR = 4100,
adresse = "Frederiksvej 15, Faxe",
telefon = 32424323,
email = "JAplo@.dgm",
kommune = 4640,
solo = true,
flermands = false,
besoeg = 20,
FMKBesoeg = true,
sidsteBesoeg = new DateTime(2016, 6, 3)
`{
块引用
var userInput = int.Parse(txtPraksisoplysningerYderNr.Text);
var laege = laeger.SingleOrDefault(d => d.Ydernr == userInput);
if(laege != null)
{
txtLaegensNavn.Text = laege.Navn;
txtCVR.Text = laege.Cvr.ToString();
txtLaegensAdresse.Text = laege.Adresse;
txtlaegenstlfNR.Text = laege.Telefon.ToString();
txtLaegensEmail.Text = laege.Email;
txtLaegensKommune.Text = laege.Kommune.ToString();
}
btnFindLaegeOplysning.Show();
答案 0 :(得分:0)
假设您有某些医生列表存储在某处(数据库,医生类本身的静态列表等),您可以使用LINQ检索特定的医生对象,其中yderNr属性等于用户输入的属性。 例如:
public class Doctor
{
public string Name { get; set; }
public int PhoneNumber { get; set; }
public int YderNr { get; set; }
}
public class Program
{
public static void Main(string[] args)
{
var doctors = new List<Doctor>
{
new Doctor()
{
Name = "Jens Andersen",
PhoneNumber = 12345567,
YderNr = 02131
}
};
var userInput = int.Parse(txtPraksisoplysningerYderNr.Text);
var doctor = doctors.SingleOrDefault(d => d.YderNr == userInput);
if (doctor != null)
{
// Set the textbox text with the doctor's data
}
}
}
有关LINQ SingleOrDefault()
方法的更多信息,click here。
<强>更新强>
我不确定你的文本框名称是什么,但是这里是你如何将文本框的文本设置为上面代码片段中if语句中医生的数据:
if (doctor != null)
{
// Set the textbox text with the doctor's data
txtDoctorName.Text = doctor.Name;
txtDoctorPhoneNumber.Text = doctor.PhoneNumber;
txtDoctorYderNr.Text = doctor.YderNr;
}
如果您有三个具有以下名称的文本框控件,则可以使用此功能:txtDoctorName
,txtDoctorPhoneNumber
和txtDoctorYderNr
。
答案 1 :(得分:0)
`laegeInfo laege9 = new laegeInfo()`
{
yderNr = 09123,
navn = "Mille Andersen",
CVR = 05232,
adresse = "Parkvej 90, Sorø",
telefon = 22996124,
email = "MAplo@.dgm",
kommune = 4180,
};
laegeInfo laege10 = new laegeInfo()
{
yderNr = 10102,
navn = "Bent Justesen",
CVR = 00632,
adresse = "Asgers park 76, Solrød",
telefon = 99885034,
email = "BJplo@.dgm",
kommune = 2680,
};
List<laegeInfo> laegers = new List<laegeInfo>(10);
laegers.Add(laege1);
laegers.Add(laege2);
laegers.Add(laege3);
laegers.Add(laege4);
laegers.Add(laege5);
laegers.Add(laege6);
laegers.Add(laege7);
laegers.Add(laege8);
laegers.Add(laege9);
laegers.Add(laege10);
var UserInput = int.Parse(txtPraksisoplysningerYderNr.Text);
var laege = laegers.SingleOrDefault(L => L.yderNr == UserInput);
if (laege != null)
foreach (laegeInfo L in laegers)
{
txtLaegensNavn.Text = L.navn;
txtCVR.Text = L.CVR.ToString();
txtLaegensAdresse.Text = L.adresse;
txtlaegenstlfNR.Text = L.telefon.ToString();
txtLaegensEmail.Text = L.email;
txtLaegensKommune.Text = L.kommune.ToString();