donovich Ответов: 2

Как разрешить пользователю добавлять данные в словарь


 class Program
    {
        static string userInput;
        static string val;
        static string key;

        static Dictionary<string, string> dict = new Dictionary<string, string>();



        static void Main(string[] args)
        {

            userInput = Console.ReadLine();

            string[] wordbits = userInput.Split(' ');



            for (int i = 0; i < wordbits.Length - 1; i += 2)
            {
                key = wordbits[i];
                val = wordbits[(i + 1)];

                dict.Add(key, val);
            }
            Console.Clear();
            Console.WriteLine($"you typed in {userInput}");
        }
    }
}


Что я уже пробовал:

Я пытаюсь создать метод, который позволит пользователю вводить данные в словарь (то есть 10 раз любимую еду, а затем оценивать от 5 до 1).
тогда я отображения пользователю наиболее наименее ФАВ ФАВ.
любой намек будет оценен по достоинству.
Я новичок, так что если это так легко для вас, чтобы ответить " Sry заранее"
СПАСИБО

[no name]

словарь.Добавить (ключ, val);

Задавать вопросы о том, как сделать то, что вы уже сделали, не имеет никакого смысла. Ответ на ваш "вопрос" в точности соответствует тому, что вы делаете.

donovich

привет спасибо
да, я почти там, но мне нужен мой код, чтобы получить несколько записей, а затем отобразить их.
нужна помощь, где я мог бы добавить больше строк кода, чтобы сделать это.

[no name]

Это называется Петля.

donovich

Большое спасибо! :)

2 Ответов

Рейтинг:
15

Karthik_Mahalingam

попробовать это

using System;
using System.Collections.Generic;
using System.Linq;
class Program
    {
        
        static string val;
        static string key; 
        static Dictionary<string, string> dict = new Dictionary<string, string>();
        static void Main(string[] args)
        {
            string status = "yes";

            while (status == "yes")            
            {
                Console.WriteLine("Enter the Item Name");
                key = Console.ReadLine();
                Console.WriteLine("Enter the Rating (1-5)");
                val = Console.ReadLine();
                dict.Add(key, val);
                Console.WriteLine("enter 'yes' to continue, 'no' to compute/exit ");
                status = Console.ReadLine();

            }

            Console.WriteLine("Items Sort by Low Rating");
            foreach (var item in dict.OrderBy(k=>k.Value)) 
                Console.WriteLine("{0}-{1}",item.Key,item.Value);
            Console.WriteLine();

            Console.WriteLine("Items Sort by High Rating");
            foreach (var item in dict.OrderByDescending(k => k.Value))
                Console.WriteLine("{0}-{1}", item.Key, item.Value);
            
             
            
            Console.ReadLine();
        }
    }


donovich

Спасибо, Картик.

Karthik_Mahalingam

добро пожаловать донович

Рейтинг:
0

Ali Majed HA

Здравствуйте донович

Решение № 1:
вы можете использовать алгоритм сортировки для сортировки массива по убыванию или по возрастанию :

 public static void exchange (int[] data, int m, int n)
      {
         int temporary;

         temporary = data [m];
         data [m] = data [n];
         data [n] = temporary;
      }

  public static void IntArrayBubbleSort (int[] data)  // Bubble Sort
      {
         int i, j;
         int N = data.Length;

         for (j=N-1; j>0; j--) {
            for (i=0; i<j; i++)="" {<br="" mode="hold">               if (data [i] > data [i + 1])
                  exchange (data, i, i + 1);
            }
         }
      }
</j;>


или
Решение № 2:
Вы можете использовать :

List<string,int> temp = 
    dict.select(s=>s.value).asc(c=>c.key.toInt32).ToList()</string,int>


Надеюсь, это сработает
с уважением


donovich

спасибо, Али, работай нормально.