C# 从列表中检索所有值比较并修改它们
我被锁定以显示列表成员、比较和修改成员。 这个程序是一个汽车商店,我有供应商(推销员),客户(供应商的相同方法),我将有和汽车/货物/等接口 现在,在“关注此列表的方法”中:C# 从列表中检索所有值比较并修改它们,c#,list,methods,C#,List,Methods,我被锁定以显示列表成员、比较和修改成员。 这个程序是一个汽车商店,我有供应商(推销员),客户(供应商的相同方法),我将有和汽车/货物/等接口 现在,在“关注此列表的方法”中: public static List<Venditori> Venditori = new List<Venditori>(); } 这是一种插入值的方法,也可以打印我刚刚插入到列表中的内容: public static Venditori Registravenditore() {
public static List<Venditori> Venditori = new List<Venditori>();
}
这是一种插入值的方法,也可以打印我刚刚插入到列表中的内容:
public static Venditori Registravenditore()
{
Venditori v = new Venditori();
v.Id = Guid.NewGuid();
Console.Clear();
Console.WriteLine();
Console.WriteLine("-------------------------------------");
Console.WriteLine("- Inserisci il Nome del Venditore : -");
Console.WriteLine("-------------------------------------");
v.NomeVenditore = Console.ReadLine();
Console.Clear();
Console.WriteLine();
Console.WriteLine("----------------------------------------");
Console.WriteLine("- Inserisci il Cognome del Venditore : -");
Console.WriteLine("----------------------------------------");
v.CognomeVenditore = Console.ReadLine();
Console.Clear();
Console.WriteLine();
Console.WriteLine("-----------------------------------------");
Console.WriteLine("- Inserisci il Telefono del Venditore : -");
Console.WriteLine("-----------------------------------------");
v.TelefonoVenditore = Console.ReadLine();
Console.Clear();
Console.WriteLine();
Console.WriteLine("-------------------------------------");
Console.WriteLine("- Inserisci la Mail del Venditore : -");
Console.WriteLine("-------------------------------------");
v.EmailVenditore = Console.ReadLine();
v.DateTime = DateTime.Now.ToString();
Liste.Venditori.Add(v);
Console.Clear();
Console.WriteLine("");
Console.WriteLine("---------------------------------------------------------------------------------------------------");
Console.WriteLine($"- Hai inserito il venditore {v.NomeVenditore} - {v.CognomeVenditore} - Avente GuId - {v.Id} - ");
Console.WriteLine($"- Il telefono è : {v.TelefonoVenditore} - La sua mail è : {v.EmailVenditore}");
Console.WriteLine($"- Il Venditore è attivo dal : {v.DateTime}");
Console.WriteLine("---------------------------------------------------------------------------------------------------");
Console.WriteLine("");
return v;
}
问题是
问题1:当我开始列出(ElencoVenditori())所有供应商和相关属性的方法时,只返回最后一次插入。我尝试使用Liste.Venditori.FindAll(),但需要在FindAll中插入一些参数,我不知道必须传递什么。在网上到处搜索,首先是Microsoft.Docs,但什么都没有。。。
代码如下:
public static List<Venditori> ElencoVenditori()
{
// Eseguo un ForEach per ciclare dalla lista i miei dati. A differenza del While che cicla un condizionale
// e For che cicla una index, questo comando è dedicato alle liste.
// Associa alla variabile "item", tramite il comando "in", la lista venditori e mostra in console cosa contengono
foreach (var item in Liste.Venditori)
{
Console.Clear();
Console.WriteLine("");
Console.WriteLine($"I Venditori presenti in Lista sono : Nome - {item.NomeVenditore} | GuId - {item.Id}");
Console.WriteLine($" Telefono - {item.TelefonoVenditore} | Mail - {item.EmailVenditore}");
Console.WriteLine($" Venditore Aggiunto il - {item.DateTime}");
Console.WriteLine("");
Console.WriteLine("");
}
return Liste.Venditori;
}
代码如下:
public static void VerificaListaVenditori()
{
string nomevenditore = "";
string cognomevenditore = "";
Console.Clear();
Console.WriteLine();
Console.WriteLine("----------------------------------------------------------------");
Console.WriteLine("- Inserisci il Nome od il Cognome del Venditore per la ricerca -");
Console.WriteLine("-------------- (Restituisce le Proprietà) ----------------------");
Console.WriteLine("----------------------------------------------------------------");
Console.WriteLine();
nomevenditore = Console.ReadLine();
cognomevenditore = Console.ReadLine();
string risultatoPositivo = "Il Venditore {0} è presente - Avente GuId {1} - " +
" Il Cognome è {2} - Il Telefono è {3} - La Mail è {4}" +
" E' attivo dal {5}";
string risultatoNegativoNome = $"Il Venditore ''{nomevenditore}'' non è presente nella Lista";
string risultatoNegativoCognome = $"Il Venditore ''{cognomevenditore}'' non è presente nella Lista ";
int index = -1;
for (int i = 0; i < Liste.Venditori.Count; i++)
{
if (nomevenditore == Liste.Venditori[i].NomeVenditore | cognomevenditore == Liste.Venditori[i].CognomeVenditore)
{
index = i;
//// Visualizza risultatoPositivo ed interrompe il ciclo
//Console.WriteLine(risultatoPositivo);
}
}
if (index >= 0)
{
Console.Clear();
Console.WriteLine("---------------------------------------------------------");
Console.WriteLine(String.Format(risultatoPositivo, Liste.Venditori[index].NomeVenditore, Liste.Venditori[index].Id, Liste.Venditori[index].CognomeVenditore, Liste.Venditori[index].TelefonoVenditore, Liste.Venditori[index].EmailVenditore));
Console.WriteLine("----------------------------------------------------------");
}
else
{
Console.WriteLine("---------------------------------------------------------");
Console.WriteLine(risultatoNegativoNome, risultatoNegativoCognome);
Console.WriteLine("---------------------------------------------------------");
}
}
publicstaticvoidverificalistavenditori()
{
字符串nomevenditor=“”;
字符串CognomeVenditor=“”;
Console.Clear();
Console.WriteLine();
Console.WriteLine(“-----------------------------------------------------------------------------------------------”);
Console.WriteLine(“-Inserisci il Nome od il Cognome del Venditore per la ricerca-”);
Console.WriteLine(“-------------(restituise le Proprietá)-------------------------”);
Console.WriteLine(“-----------------------------------------------------------------------------------------------”);
Console.WriteLine();
nomevenditor=Console.ReadLine();
cognomevenditore=Console.ReadLine();
string risultatoppositio=“Il venditor{0}èpresente-Avente GuId{1}-”+
“Il Cognomeè{2}-Il Telefonoè{3}-La Mailè4}”+
“E'attivo dal{5}”;
字符串risultatoNegativoNome=$“Il供应商”{nomevenditore}“非呈现内拉列表”;
字符串risultatoNegativoCognome=$“Il Venditore'{cognomevenditore}''nonèpresenter nella Lista”;
int指数=-1;
for(int i=0;i=0)
{
Console.Clear();
Console.WriteLine(“------------------------------------------------------------------”;
Console.WriteLine(String.Format(risultatoPositive,Liste.Venditori[index].NomeVenditore,Liste.Venditori[index].Id,Liste.Venditori[index].CognomeVenditore,Liste.Venditori[index].TelefonoVenditore,Liste.Venditori[index].EmailVenditore));
Console.WriteLine(“------------------------------------------------------------------”;
}
其他的
{
Console.WriteLine(“------------------------------------------------------------------”;
控制台写入线(risultatoNegativoNome,risultatoNegativoCognome);
Console.WriteLine(“------------------------------------------------------------------”;
}
}
可以找到完整的代码。如果通过索引访问
列表.Venditori
,则它必须是0到列表.Venditori.Count-1
所以你的for循环必须是
for (int i = 0; i < Liste.Venditori.Count; i++)
{
...
}
for(int i=0;i
谢谢,您是在说异常错误吗?
public static void VerificaListaVenditori()
{
string nomevenditore = "";
string cognomevenditore = "";
Console.Clear();
Console.WriteLine();
Console.WriteLine("----------------------------------------------------------------");
Console.WriteLine("- Inserisci il Nome od il Cognome del Venditore per la ricerca -");
Console.WriteLine("-------------- (Restituisce le Proprietà) ----------------------");
Console.WriteLine("----------------------------------------------------------------");
Console.WriteLine();
nomevenditore = Console.ReadLine();
cognomevenditore = Console.ReadLine();
string risultatoPositivo = "Il Venditore {0} è presente - Avente GuId {1} - " +
" Il Cognome è {2} - Il Telefono è {3} - La Mail è {4}" +
" E' attivo dal {5}";
string risultatoNegativoNome = $"Il Venditore ''{nomevenditore}'' non è presente nella Lista";
string risultatoNegativoCognome = $"Il Venditore ''{cognomevenditore}'' non è presente nella Lista ";
int index = -1;
for (int i = 0; i < Liste.Venditori.Count; i++)
{
if (nomevenditore == Liste.Venditori[i].NomeVenditore | cognomevenditore == Liste.Venditori[i].CognomeVenditore)
{
index = i;
//// Visualizza risultatoPositivo ed interrompe il ciclo
//Console.WriteLine(risultatoPositivo);
}
}
if (index >= 0)
{
Console.Clear();
Console.WriteLine("---------------------------------------------------------");
Console.WriteLine(String.Format(risultatoPositivo, Liste.Venditori[index].NomeVenditore, Liste.Venditori[index].Id, Liste.Venditori[index].CognomeVenditore, Liste.Venditori[index].TelefonoVenditore, Liste.Venditori[index].EmailVenditore));
Console.WriteLine("----------------------------------------------------------");
}
else
{
Console.WriteLine("---------------------------------------------------------");
Console.WriteLine(risultatoNegativoNome, risultatoNegativoCognome);
Console.WriteLine("---------------------------------------------------------");
}
}
for (int i = 0; i < Liste.Venditori.Count; i++)
{
...
}