Я работаю с C#, у меня есть опыт работы с C++ и java. Я пытаюсь возиться со словарями, но я не могу заставить это работать. У меня есть два массива, тип данных которых должен быть объектами, после того, как я добавлю их в два разных словаря, пытающихся найти ключ внутри, но я не могу заставить его перейти к операторам if.Какой из двух объявлений словаря является правильный словарь1 или словарь2? Также как я могу найти значение с помощью ключа или ключа по значению в правильном словаре или и то, и другое.C# Dealing with Dictionaries
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Practice_With_Dictionaries
{
class Program
{
static void Main(string[] args)
{
object[] array1 = new object[5];
array1[0] = "1111";
array1[1] = "2222";
array1[2] = "3333";
array1[3] = "4444";
array1[4] = "5555";
object[] speed = new object[5];
speed[0] = 1;
speed[1] = 2;
speed[2] = 3;
speed[3] = 4;
speed[4] = 5;
object[] keys = new object[1];
keys[0] = (object[])array1;
object[] speedTable = new object[1];
speedTable[0] = (object[])speed;
Dictionary<object, object> dictionary1 = new Dictionary<object, object>();
Dictionary<object[], object[]> dictionary2 = new Dictionary<object[], object[]>();
dictionary1.Add(keys, speedTable);
dictionary2.Add(keys, speedTable);
if (dictionary1.ContainsKey((object)"1111"))
{
var method = 1;
}
if (dictionary2.ContainsKey(array1))
{
var method = 2;
}
}
}
}
Может быть, вам следует использовать '' Int32' или String' как ключи, а не «Объект»? –