У меня есть следующий код:
Informacion informacion = new Informacion(); // crea un objeto de la clase
InformacionArrayList AInformacion = new ArrayList(); // crea la ArrayList para llevar esta informacion
// La siguiente linea tiene un objeto de la clase como prueba, esta esta quemada dentro de las funciones
AInformacion.Add(new Informacion(01, "Quedamo", null, "Jose Mora", "josemora@prueba.com", "047-1234567-1", "cosas sobre mi", "Ingeniero en sistema", "Habilidades", "Experiencia en el area", "Referencia de X persona", "Mis pasatiempos"));
AInformacion.Add(new Informacion(02, "Rostizado", null, "Jesus Grullon", "josemora@prueba.com", "klk", "cosas sobre mi", "Ingeniero en sistema", "Habilidades", "Experiencia en el area", "Referencia de X persona", "Mis pasatiempos"));
AInformacion.Add(new Informacion(03, "Chicharrado", null, "Jewyllon sandoval", "gdf@dfgdf.com", "klk",
Я хотел бы знать, как я мог пройтись по массиву и определить, какой из элементов, которые я добавляю, принадлежит ID 01, и распечатать все его данные в консоли.
Другими словами, что бы вы хотели сделать, если бы использовали linq, это
var item = (from i in AInformacion
where i.ID == 01
select i
).FirstOrDefault();
А затем распечатать его с помощью foreach , но я хочу сделать это без использования linq
Это информационный класс
public Informacion(int iD,string puesto, int? aceptado, String nombre, String correo, String cedula, String about, String titulo, String skill, String experiencia, String referencia, String overtime /*, bool activo*/)
{
Puesto = puesto; // El puesto a cual quiere derigirse
ID = iD; // ID numerico del curriculum
Nombre = nombre; // Nombre y apellido del usuario
Correo = correo; // Correo Electronico del usuario
Cedula = cedula; // Cedula del usuario
About = about; // informacion general del usuario
Titulo = titulo; // titulos academicos del usuario (certificados, titulos, licencias)
Skill = skill; // habilidades del usuario
Experiencia = experiencia; // experiencias laborales del usuario
Referencia = referencia; // referencias o contactos laborales del usuario
Overtime = overtime; // pasatiempos/hobby del usuario
Aceptado = aceptado;
}
Будь то AInformacion типа Array или Information[] или List<Informacion>, вы можете использовать цикл for или Linq. Что вы пробовали?
Несвязанный: Примечания к ArrayList: «Важно — мы не рекомендуем вам использовать класс ArrayList для новой разработки. Вместо этого мы рекомендуем вам использовать общий класс List<T>. [...]»
@KlausGütter Я пытаюсь напечатать в консоли добавленный элемент с именем Хосе Мора AInformacion.Add(new Informacion(01, "Quedamo", null, "Jose Mora", "josemora@prueba.com", "047-1234567-1", "cosas sobre mi", "Ingeniero en sistema", "Habilidades", "Experiencia en el area", "Referencia de X persona", "Mis pasatiempos"));, из всех элементов, которые имеют расположение, я хочу напечатать только это и все его данные, и у меня ничего не получается, я пробовал это, но он печатает все, что есть в списке массивов, и у меня это не работает, я хочу напечатать что-то конкретное
@KlausGütter Это то, что я пробовал `` static private void CExistente (ArrayList Ainfo) //Curriculim existsentes { int fila_1 = 9; инт ID = 1; foreach (Информация p в Ainfo) { Console.SetCursorPosition(15, fila_1); Console.Write("#: " + iD.ToString()); Console.SetCursorPosition(15, fila_1+1); Console.Write("Номер: " + p.getNombre()); ; Console.SetCursorPosition(15, fila_1+3); фила_1 += 4; иД++; }``
@KlausGütter Код работает нормально, но он печатает все элементы ArrayList, и я хочу, чтобы печатался только один из них и все, что с ним связано, как я могу это обусловить?
@ChrisBD Я хотел бы использовать linQ, было бы очень легко с выбором из и с указанием места, чтобы затем распечатать выбор, но спецификации проекта запрещают мне, я хотел бы знать, как еще я могу сделать то же самое
Затем используйте if внутри цикла.
Я думаю, что «foreach» и «if» более просты, чем linq, вы уверены, что не знаете, что с ними делать?
foreach (Informacion p in AInformacion)
{
if (p?.ID != 1) continue;
//Your print commands here
}
Примечания https://learn.microsoft.com/en-us/dotnet/api/system.collections.arraylist?view=net-7.0#remarks
В чем именно у вас проблема? Как зациклить список? Как получить доступ к свойствам элемента? Как вывести элемент в консоль?