Как я могу хранить переменную в массиве - PullRequest
0 голосов
/ 12 марта 2020

Я пытаюсь подключить «последовательный код» или что-то еще к переменной, которая будет напечатана в виде строки. Код будет сгенерирован из 5 датчиков и даст мне число 5 di git (sensorValue) (этот расчет не включен в пример, и я упростил его до 3 цифр). Я добавляю "s" перед кодом, чтобы я мог создать переменную с тем же именем. Однако я не могу сохранить переменную в массиве, поскольку получаю сообщение о том, что переменные назначены, но никогда не используются. Он явно не может быть прикреплен так, как я это делаю. Но я надеюсь, что я иллюстрирую то, что я собираюсь сделать.

Итак, я получаю s123 с «серийным кодом», но мне нужно преобразовать его в другую строку. Будет приблизительно 3000 различных «серийных кодов» со строкой, прикрепленной к каждому из них. Я уверен, что смогу сделать 3000 заявлений «если», но боюсь, что это будет очень медленно.

Есть идеи, как мне решить эту проблему?

Заранее спасибо!

using System;
using System.Linq;

namespace TestingArray
{
        static void Main(string[] args)
        {
            // Trying to assign a value to the string that is used in the array
            var s123 = "Hello";
            var s321 = "Bye";
            var s111 = "Thanks";
            // Creating the array to be used
            object [] arr = { "s123", "s321", "s111" };

            // A simulation of what the future sensor would read
            int sensorValue;
            sensorValue = 123;
            // Creating a "code" with the sensorValue to find it in the array. 
            string doThis = "s" + sensorValue
                ;
            // I want to display the string which corresponds to this "serial-code" string.
            Console.Write(arr.Contains(doThis));
        }
}

1 Ответ

3 голосов
/ 12 марта 2020

Похоже, вы хотите словарь. Ключ - это имя, а значение - данные датчика.

static void Main(string[] args)
{
    Dictionary<string, string> sensors = new Dictionary<string, string> {
        {"s123", "Hello"},
        {"s321", "Bye"},
        {"s111", "Thanks"}
     };

    // A simulation of what the future sensor would read
    int sensorValue;
    sensorValue = 123;
    // Creating a "code" with the sensorValue to find it in the array. 
    string doThis = "s" + sensorValue;

    if (sensors.ContainsKey(doThis)) {
         Console.WriteLine(sensors[doThis]);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...