Je dois écrire un script qui fusionne une liste avec un dictionnaire pour créer un troisième dictionnaire. Je suis assez nouveau à la programmation et je me bats avec les bases ici.Utilisation du dictionnaire
Jusqu'à présent, j'ai créé la classe suivante qui génère une liste de dates. J'ai une autre classe qui génère un dictionnaire et je veux fondamentalement créer un troisième dictionnaire qui contient les dates et les données qui n'existent pas déjà dans la première liste. Des idées comment je devrais faire cela? Merci.
class StartList: IDisposable
{
private readonly string[] names = new[] { "name1", "name2", "name3"};
private SqlConnection conn;
private Dictionary<string, List<DateTime>> startData = new Dictionary<string, List<DateTime>>();
public StartList()
{
this.conn = new SqlConnection(ConfigurationManager.ConnectionStrings["NameCon"].ConnectionString);
this.conn.Open();
}
private void Dispose()
{
if (this.conn != null)
{
if (this.conn.State != ConnectionState.Closed)
{
try
{
this.conn.Close();
}
catch
{
}
}
this.conn.Dispose();
this.conn = null;
}
}
public void ImportStartData()
{
foreach (string name in this.names)
{
this.startData.Add(name, this.ImportStartData(name));
}
}
public List<DateTime> ImportStartData(string name)
{
List<DateTime> result = new List<DateTime>();
string sqlCommand = string.Format("SELECT * FROM {0}_Index ", name);
using (SqlCommand cmd = new SqlCommand(sqlCommand, this.conn))
{
cmd.CommandType = CommandType.Text;
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
result.Add(reader.GetDateTime(0));
}
}
}
return result;
}
}
Votre méthode "ImportStartData" est bizarre. Cette méthode parcourt les entrées de "this.names" et procède ensuite à l'ajout d'entrées dans le même "this.names". –
et 'this.names' est' readonly'. Je ne pense pas comprendre. – recursive
Désolé, j'ai fait une faute de frappe dans ImportStartData, j'aurais dû ajouter à startData, pas de noms. Merci – Brian