Основная проблема в том, что ваш метод - void
, что означает, что он не возвращает никакого значения.Поэтому, даже если вы находите совпадение и создаете объект Connection_fetch_details, вы не возвращаете этот результат обратно вызывающему методу.
Это решит эту проблему:
Connection_fetch_details Connection_fetch_details(String searchName)
{
var strLines = File.ReadLines(filePath);
foreach (var line in strLines)
{
if (line.Split(',')[0].Equals(searchName))
{
Connection_fetch_details cd = new Connection_fetch_details()
{
username = line.Split(',')[1]
};
return cd; //return the object containing the matched username
}
}
return null;
}
Теперь он вернет объект Connection_fetch_details
, если есть совпадение, или null
, если совпадения нет.
Затем вы спросили о возвращении всех полей, а не только одного.Для этого вам необходимо
a) добавить больше свойств к вашему объекту
b) добавить больше кода для заполнения этих свойств из CSV
c) добавить код для заполнениятекстовые поля с результатами объекта.
Я также собираюсь переименовать «username» в нечто более релевантное, поскольку ни одно из имен полей, которые вы описали в вопросе, не соответствует этому.Я также собираюсь переименовать ваш класс в «Ученик» и переименовать ваш метод поиска по той же причине.
Вот пример:
Student searchStudent(String searchName)
{
var strLines = File.ReadLines(filePath);
foreach (var line in strLines)
{
var split = line.Split(',');
if (split[0].Equals(searchName))
{
Student s = new Student()
{
firstname = searchName,
surname = split[1],
city = split[2],
state = split[3]
};
return s; //return the object containing the matched name
}
}
return null;
}
private void Load_Script_Click(object sender, EventArgs e)
{
// load script is button
String con_env = textenv.Text.ToString();
//Address Address = GetAddress("vikas");
//textsurname.text = Address.Surname
Student st = searchStudent(con_env);
textsurname.Text = st.surname;
txtcity.Text = st.city;
txtstate.Text = st.state;
}
namespace DDL_SCRIPT_GENERATOR
{
public class Student
{
public string firstname { get; set; }
public string surname { get; set; }
public string city { get; set; }
public string state { get; set; }
}
}