【发布时间】:2014-03-20 13:58:53
【问题描述】:
很抱歉问了太多问题,但是当我将字符串与数组中的字符串进行比较时遇到问题,它只会搜索数组的一个实例,例如该程序允许您将患者添加到数组中,但是当我使用了比较字符串,它只会与最后添加的患者进行比较,你能帮帮我吗?
这是我的程序:
public class Patient
{
public string patientidString;
public string firstNameString;
public string lastNameString;
public string dateString;
public Patient()
{
patientidString = "";
firstNameString = "";
lastNameString = "";
dateString = "";
}
public Patient(string idValue, string firstNameVal, string lastNameVal, string dateVal)
{
patientidString = idValue;
firstNameString = firstNameVal;
lastNameString = lastNameVal;
dateString = dateVal;
}
}
//Array
Patient[] patientInfo = new Patient[10];
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < patientInfo.Length; ++i)
patientInfo[i] = new Patient();
try
{
foreach (Patient patientinfoIndex in patientInfo)
patientInfo[itemCountInteger].patientidString = textBox1.Text;
patientInfo[itemCountInteger].firstNameString = textBox2.Text;
patientInfo[itemCountInteger].lastNameString = textBox3.Text;
patientInfo[itemCountInteger].dateString = dateTimePicker1.Text;
string names = patientInfo[itemCountInteger].patientidString + " " + patientInfo[itemCountInteger].firstNameString + " " + patientInfo[itemCountInteger].lastNameString;
listBox1.Items.Add(names);
itemCountInteger++;
listBox1.SelectedItem = names;
}
catch
{
MessageBox.Show("Contacts are limited to 20. Please delete some contacts prior to adding more.");
}
}
//Search Button search a patients id and display his surname in the label if patient is found display his surname and name
private void button2_Click(object sender, EventArgs e)
{
int intTest = 0;
for (int x = 0; x < patientInfo.Length; x++)
{
if (textBox4.Text == patientInfo[x].patientidString)
{
label6.Text = (patientInfo[x].firstNameString + " " + patientInfo[x].lastNameString);
PatientForm patientform = new PatientForm();
patientform.Show();
patientform.label6.Text = (patientInfo[x].patientidString);
patientform.label7.Text = (patientInfo[x].firstNameString);
patientform.label8.Text =(patientInfo[x].lastNameString);
patientform.dateTimePicker1.Text = (patientInfo[x].dateString);
intTest = 1;
}
}
if (intTest == 0)
{
label6.Text = ("not found");
}
}
【问题讨论】:
标签: c# arrays string visual-studio-2010 class