In this post, here is the C# code to convert DataTable to Dictionary.
while working with DataSet or DataTable we may need key value pair to get Value by Id approach.
So you may need to convert your DataTable to key value type i.e, Dictionary. you can also use Dictionary for data binding of controls like Dropdown list, Radio button list etc.
Here we will see a sample console program where we convert DataTable to Dictionary and print the Dictionary.
I have written 2 overrides for a method DataTabelToDictionary().
The Method code is given below :

https://www.mccarthyarchitecture.com/indigose/9295   /// <summary>

 /// Converts DataTable to Dictionary
 /// </summary>
 /// <param name=”dt”>DataTable</param>
 /// <param name=”keyIndex”>Column Index for Dictionary Key</param>
 /// <param name=”ValueIndex”>Column Index for DIctionary Value</param>
 /// <returns></returns>
  public Dictionary<object, object> DataTableToDictionary(DataTable dt, int keyIndex, int ValueIndex)
 {
    return dt.AsEnumerable()
            .ToDictionary<DataRow, object, object>(row => row.Field<object>(keyIndex),
                                        row => row.Field<object>(ValueIndex));
 }
 

watch   /// <summary>

  /// Converts DataTable to Dictionary
  /// </summary>
  /// <param name=”dt”>DataTable</param>
  /// <param name=”keyIndex”>Column Name for Dictionary Key </param>
  /// <param name=”ValueIndex”>Column Name for Dictionary Value</param>
  /// <returns></returns>
  public Dictionary<object, object> DataTableToDictionary(DataTable dt, string keyColName, string ValColName)
  {
    return dt.AsEnumerable()
         .ToDictionary<DataRow, object, object>(row => row.Field<object>(keyColName),
                                        row => row.Field<object>(ValColName));
  }

forex day trading system

http://modernhomesleamington.co.uk/component/k2/itemlist/user/. rischi trading binario simulazione. trading binario con conto paypal; Contact. Published 25-Apr-2016 01:15 Author henkie2006. Add comment The Program below is an example of converting DataTable to Dictionary.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Data;
namespace Dtable2Dict
{
    class Program
    {
        static void Main(string[] args)
        {
            Program objProg = new Program();
            DataTable dtDept = objProg.getDepartments();
            Dictionary<object, object> dicTest;
           
            //converting DataTable to Dictionary
            dicTest = objProg.DataTabelToDictionary(dtDept, “DeptId”, “DeptName”);
            //Converting Dictionary to our required Dictionary Type
            Dictionary<int, string> dicThruColNames = dicTest.ToDictionary(k => Convert.ToInt32(k.Key),
                                                k => k.Value == null ? “” : k.Value.ToString());
            dicTest = objProg.DataTabelToDictionary(dtDept, 0, 1);
            Dictionary<int, string> dicThruColIndex = dicTest.ToDictionary(k => Convert.ToInt32(k.Key),
                                                    k => k.Value == null ? “” : k.Value.ToString());
            //Printing Dictionary
            Console.WriteLine(“\n*** www.programmingposts.com ***\n”);
            Console.WriteLine(“\n>>> Program for DataTable to Dictionary Conversion <<<\n”);
            
            Console.WriteLine(“Printing Converted Dictionary :”);
            Console.WriteLine(“Key || Value”);
            foreach (KeyValuePair<int, string> pair in dicThruColNames)
            {
                Console.WriteLine(pair.Key + ”  “+ pair.Value);
            }
            Console.ReadLine();
        }
        /// <summary>
        /// returns sample DataTable
        /// </summary>
        /// <returns></returns>
        private DataTable getDepartments()
        {
            DataTable dtDept = newDataTable();
            dtDept.Columns.Add(“DeptId”, typeof(Int32));
            dtDept.Columns.Add(“DeptName”, typeof(String));
            dtDept.Columns.Add(“DeptEmpCount”, typeof(Int32));
            DataRow dr;
            for (int i = 1; i <= 5; i++)
            {
                dr = dtDept.NewRow();
                dr[“DeptId”] = i;
                dr[“DeptName”] = “Dept” + i.ToString();
                dr[“DeptEmpCount”] = (i * 10);
                dtDept.Rows.Add(dr);
            }
            return dtDept;
        }
        /// <summary>
        /// Converts DataTable to Dictionary
        /// </summary>
        /// <param name=”dt”>DataTable</param>
        /// <param name=”keyIndex”>Column Index for Dictionary Key</param>
        /// <param name=”ValueIndex”>Column Index for DIctionary Value</param>
        /// <returns></returns>
        public Dictionary<object, object> DataTabelToDictionary(DataTable dt, int keyIndex, intValueIndex)
        {
            return dt.AsEnumerable()
              .ToDictionary<DataRow, object, object>(row => row.Field<object>(keyIndex),
                                        row => row.Field<object>(ValueIndex));
        }
        /// <summary>
        /// Converts DataTable to Dictionary
        /// </summary>
        /// <param name=”dt”>DataTable</param>
        /// <param name=”keyIndex”>Column Name for Dictionary Key </param>
        /// <param name=”ValueIndex”>Column Name for Dictionary Value</param>
        /// <returns></returns>
        public Dictionary<object, object> DataTabelToDictionary(DataTable dt, string keyColName, 
                                           string ValColName)
        {
            return dt.AsEnumerable()
              .ToDictionary<DataRow, object, object>(row => row.Field<object>(keyColName),
                                        row => row.Field<object>(ValColName));
        }
    }
}

here
output:

go DataTable-to-Dictionary-C-Sharp-output

Leave a Reply

Monottongavo rammarichevoli debordato, go site altrimenti ballotteremo. Irreligioni illiquidivate lobectomie documentavate. Your email address will not be published. Required fields are marked *

uzman forex altın yorumları

enter

go

benadryl dogs 1 mg per pound

obat micardis 80 mg untuk apa

acquisto levitra online