我有一個裝滿物件的串列。我必須創建一個函式,當給定一個類屬性的某個值時,回傳另一個。在我的情況下,當您指定“索引”時,該函式將回傳“standysp”(如果我不能很好地解釋,我很抱歉)。我需要讓這個功能作業,但我什至不知道什么時候開始。這是我的代碼:
using System;
using FirebirdSql.Data.FirebirdClient;
using System.Collections.Generic;
namespace dokselect
{
class PozycjaMagazynowa
{
public double standysp;
public string nazwagrupy;
public string index;
public string nazwadl;
}
class Program
{
public static void Main()
{
string conn = "SECRET";
FbConnection myConnection = new FbConnection(conn);
FbDataReader myReader = null;
string sql = "select STANMAG.standysp,GRUPAKART.nazwagrupy, KARTOTEKA.indeks, kartoteka.nazwadl FROM stanmag JOIN kartoteka using(ID_KARTOTEKA) JOIN wystgrkart using(ID_KARTOTEKA) JOIN grupakart using(ID_GRUPAKART) ORDER BY nazwagrupy;";
FbCommand myCommand = new FbCommand(sql, myConnection);
myConnection.Open();
myReader = myCommand.ExecuteReader();
List<PozycjaMagazynowa> lista1 = new List<PozycjaMagazynowa>();
double standysp;
string nazwagrupy;
string index;
string nazwadl;
while (myReader.Read())
{
standysp = Convert.ToDouble(myReader[0]);
nazwagrupy = myReader[1].ToString();
index = myReader[2].ToString();
nazwadl = myReader[3].ToString();
lista1.Add(new PozycjaMagazynowa { standysp = standysp, nazwagrupy = nazwagrupy, index = index, nazwadl = nazwadl });
}
myConnection.Close();
Console.WriteLine(lista1.Count);
//LISTA DONE
void wyswietl()
{
//????????
}
}
}
}
uj5u.com熱心網友回復:
我不確定你是否以正確的方式做這件事。首先,其他方法無法訪問您創建的串列。第二,也許 List 不合適,您可以使用HashSet<T>或Dictionnary與您的PozycjaMagazynowa類實作IEqualityComparer
uj5u.com熱心網友回復:
我使用了這種方法,它奏效了,謝謝您的幫助:
double wyswietl()
{
string myIndex="WSIP_MAT_GIM";
var result = lista1.FirstOrDefault(lista1 => lista1.index == myIndex).standysp;
Console.WriteLine(myIndex " Zostalo zwrocone przez funkcje");
Console.WriteLine(result " - to stan dyspozycyjny pasujacy do podanego indexu");
return result;
}
wyswietl();
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/324847.html
上一篇:如何從字典串列中過濾并寫入檔案?
