Create dynamic variable name
c#
Solution
C# is strongly typed so you can't create variables dynamically. You could use an array but a better C# way would be to use a Dictionary as follows. More on C# dictionaries here.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace QuickTest
{
class Program
{
static void Main(string[] args)
{
Dictionary<string, int> names = new Dictionary<string,int>();
for (int i = 0; i < 10; i++)
{
names.Add(String.Format("name{0}", i.ToString()), i);
}
var xx1 = names["name1"];
var xx2 = names["name2"];
var xx3 = names["name3"];
}
}
}
Problem
Can we create dynamic variable in C#? I know my below code is threw error and very poor coding. But this code have small logic like create dynamic variable ``` var name=0; for(i=0;i<10;i++)// 10 means grid length { name+i=i; } var xx1=name1; var xx2=name2; var xx3=name3; ``` Is it possible in c#? Create dynamic variable in c#? and change the variable name in c#? and concatenate the variable name in c#(like we can concatenate any control id or name)... Why I need the dynamic variable name (scenario): ``` var variablename="" var variablename0=No; var variablename1=Yes; var variablename2=No; ``` . . . I have a `gridview` with multiple rows. And I need assign server side variable to every row. So I need set of variables in server side. the only I can set `Text=<%# variablename+rowCount%>` for every template field. This `rowCount` means every grid row index. If the grid has 2 rows, Then `rowCount` values are 0,1,2 Now I need to change the `variablename` to `variablename0,variablename1,variablename2` dynamically for separate row.