私はこの1つに私の頭を失っています。私は2つのリストを持っています。 1つのリストをクリアすると、両方のリストがクリアされます!私はどこで、なぜこれが起こっているのかを知ることはできません。あなたは明確に、アーティストとArtistsSelected前に見ることができるように両方が121個のアイテムを持っているC#List.Clear()ALLリストをクリアする
A: 121 As: 121
A: 0 As: 0
:上記のコードから
Console.WriteLine("A: {0} \t As: {1}", Globals.Artists.Count(), Globals.ArtistsSelected.Count);
Globals.ArtistsSelected.Clear();
Console.WriteLine("A: {0} \t As: {1}", Globals.Artists.Count(), Globals.ArtistsSelected.Count);
結果は次のとおりです。
は、ここに私のコードです。私はそれをクリアすると、もう一方もクリアされます。私は唯一のアーティストをロードする一つの場所を持っている
public static List<string> Artists = new List<string>();
public static List<string> ArtistsSelected = new List<string>();
、それはその時点の後に再び呼び出されませんし、全く場所は次のようになりません:ここで
は、リストが宣言されている方法です Artists = ArtistsSelected;
これはArtists.Clear()
です。
ご協力いただければ幸いです!ああ、私はまた、SelectedArtists
のようなものにArtistsSelected
の名前を変更しようとしたし、あなたのいくつかはここでは、求めているので、それはまだ
it.`相* UPDATE *
なかったアーティストの呼び出しによってロードされている方法です。
public static List<string> getArtistList()
{
List<string> artists = new List<string>();
SqlConnection con = new SqlConnection();
SqlCommand cmd = new SqlCommand();
string query = "SELECT Name FROM Artists ";
con.ConnectionString = SQL_getConnectionString.conStr();
con.Open();
cmd.Connection = con;
cmd.CommandText = query;
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
artists.Add(reader.GetString(0));
}
con.Close();
return artists;
}
は、なぜあなたは 'Artists'ためArtistsSelected'と'カウント() ''は 'Count'を使用しない:あなたがする必要がどのような
は、次のでしょうか? – Abion47
@ Abion47 - 良いキャッチ。それは他のコードから残されていました。 'Count()'だけを削除しました。同じ問題 –
この場合、Globalsクラスの詳細を参照すると便利です。コードのある時点で、ArtistsとArtistsSelectedは同じ参照に設定されている必要があります。 – FishBasketGordo