в чем польза от хэш-таблицы? asp.net c#

#asp.net

#asp.net

Вопрос:

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

 //This is the function i used to get next record from database
public void getNextQuestion()
    {
        if (Convert.ToInt32(Session["counter"].ToString()) < 7)
        {
            if (RblOption.SelectedIndex >= 0)
            {
                string str1 = "";
                SqlDataAdapter da3 = new SqlDataAdapter(str1, sqlconn);

                Session["selans"] = RblOption.SelectedIndex.ToString();
                if (Session["Answer"].ToString() == RblOption.SelectedIndex.ToString())
                {
                    int score = Convert.ToInt32(txtScore.Text)   1;
                    txtScore.Text = score.ToString();
                    lblScore.Text = "Score : "   Convert.ToString(score);
                }

                //Random rnd = new Random();
                //var i = rnd.Next(1, 6);

                SqlDataAdapter da = new SqlDataAdapter("select Q_id from Test_Final where Serial='1' order by Q_id", sqlconn);
                DataSet ds = new DataSet();
                da.Fill(ds, "Test_Final");
                if (ds.Tables[0].Rows.Count > 0)
                {
                    myArray = new int[ds.Tables[0].Rows.Count];
                    bool flag;
                    for (int i = 1; i < ds.Tables[0].Rows.Count; i  )
                    {
                        myArray[i] = Convert.ToInt32(ds.Tables[0].Rows[i]["Q_id"].ToString());
                        //Response.Write(myArray[i]);
                        Random random = new Random();

                        int randomNo = random.Next(0, myArray.Length);

                        flag = true;

                        for (int x = 0; x < myArray.Length; x  )
                        {

                            if (randomNo == myArray[x])
                            {

                                i--;

                                flag = false;

                                break;

                            }

                        }
                        if (flag)

                            myArray[i] = randomNo;

                    }



                    Session["counter"] = Convert.ToString(Convert.ToInt32(Session["counter"].ToString())   1);

                    getQuestion(myArray[z]);

                }
                else
                {
                    RegisterStartupScript("myAlert", "<script>alert('Please select the option')</script>");

                }

            }

            else
            {
                Response.Redirect("Default.aspx");
            }

        }
    }
  

Комментарии:

1. Да, вы, вероятно, можете задействовать хэш-таблицу в этом процессе 😉

2. как я могу добавлять элементы из таблицы в хэш-таблицу

3. Не могли бы вы объяснить, почему вы считаете, что вам нужна хэш-таблица?

4. На самом деле я хочу переместить следующую запись после нажатия кнопки далее, я использовал код, для которого я опубликовал, но он получает повторяющиеся значения

Ответ №1:

Добавьте код при нажатии кнопки, как показано ниже

защищенная пустая кнопка 1_click(отправитель объекта, EventArgs e) { ключ int; имя строки = string.Пусто; строка str = string.Пусто; Хэш-таблица hashtable = new Hashtable(); ключ = 1; имя = «Jake»; хэш-таблица.Добавить (ключ, имя); ключ = 2; имя = «питер»; хэш-таблицу.Добавить (ключ, имя); ключ = 3; имя = «лилия»; хэш-таблицу.Добавить (ключ, имя); foreach (DictionaryEntry de в хэш-таблице) { str = str «key=» de.Ключ » » » значение=» de.Value.toString() «
«; } }

Если я правильно понял вас, то вы хотите что-то вроде этого

   public Hashtable Createashtable(string keyColumnName, DataTable table)
    {
        Hashtable hash = new Hashtable();

        for (int rowIndex = 0; rowIndex < table.Rows.Count; rowIndex  )
        {
            hash.Add(table.Rows[rowIndex][keyColumnName], table.Rows[rowIndex]);
        }

        return hash;
    }
}
  

Комментарии:

1. Я должен взять данные из базы данных. Я использовал dataset для сбора данных, но я хочу перейти от 1-й записи к следующей до конца. Тогда как это возможно?