积极答复者
提取循环中的数据问题?

问题
-
Console.WriteLine("give me a date");
int geshu = int.Parse(Console.ReadLine());
int a;
for (a = 1; a < geshu; a++)
{
Excel.Range step1 = xSheet.get_Range("A" + a, Missing.Value);
string A = (string)step1.Value2;
if (step1.Value2 == null)
break;
Console.WriteLine("{0}", A);}
这个是我的一个循环代码,在输出时string A获得的循环数据,我希望可以获得如下独立的数据:
第一个数据 A1=
第二个数据 A2=
第三个数据 A3=
............... An=
这些独立出来的数据,我还要用于其他代码的计算。
答案
-
你这样试试:
string[] resultArray=new string[geshu-1] for (a = 1; a < geshu; a++)
{
Excel.Range step1 = xSheet.get_Range("A" + a, Missing.Value);
string A = (string)step1.Value2;
resultArray[a-1]=A;
if (step1.Value2 == null)
break;
Console.WriteLine("{0}", A); }
你想用的时候,直接resultArray[0]...
周雪峰- 已标记为答案 KeFang Chen 2010年3月22日 5:55
-
给你一个万能版的:
HashTable ht = new HathTable(); // 定义一个表放数据
Console.WriteLine("give me a date");
int geshu = int.Parse(Console.ReadLine());
int a;
for (a = 1; a < geshu; a++)
{
Excel.Range step1 = xSheet.get_Range("A" + a, Missing.Value);
string A = (string)step1.Value2;
ht.Add("A" + a, A); // 把数据放到表里
if (step1.Value2 == null)
break;
Console.WriteLine("{0}", A);}
要用的时候:
string str = (string)ht["A3"]; // 取数据,索引是当时放进去的值(上面是 "A" + a)
// 任意类型,用(类型)ht[""]的方式转换就可以了,当然要和你放进去的类型一样才行。
霸王- 已标记为答案 KeFang Chen 2010年3月22日 5:55
全部回复
-
-
using System.Collections;
我是菜鸟,麻烦能不能详细一点。
Hashtable ht=new Hashtable();
ht.Add("A1","e");
ht.Add("A2","a");
ht.Add("A3","c");
ht.Add("A4","b");
for(DictionaryEntry de in ht)
{
Console.WriteLine(de.Key);de.Key对应于keyvalue键值对key
Console.WriteLine(de.Value);de.Key对应于keyvalue键值对value
}
努力+方法=成功
刚刚测试了下,是foreach.谢谢。我在测试乐下不过不行,我是通过i这个数据的循环,得到excel表格中的A1,A2,A3.....An单元格的数据自动读取,我要是这个数据。你给我的这个我不知道怎么去实现。 -
你好!
请问你自己写的代码遇到了怎样的问题呢?有什么可以帮助你的呢?
周雪峰
for (a = 1; a < geshu; a++)
{
Excel.Range step1 = xSheet.get_Range("A" + a, Missing.Value);
string A = (string)step1.Value2;
if (step1.Value2 == null)
break;
Console.WriteLine("{0}", A);}
我是通过 i 这个数据的循环,得到excel表格中的A1,A2,A3.....An单元格的数据自动读取,这个单元格数据是我想要得到并应用于其他代码计算,目前的状态是我无法分开这些数据我想要A1应用在a代码段中,A2应用在b代码段中,大致就是这样一个希望的结果。 -
你这样试试:
string[] resultArray=new string[geshu-1] for (a = 1; a < geshu; a++)
{
Excel.Range step1 = xSheet.get_Range("A" + a, Missing.Value);
string A = (string)step1.Value2;
resultArray[a-1]=A;
if (step1.Value2 == null)
break;
Console.WriteLine("{0}", A); }
你想用的时候,直接resultArray[0]...
周雪峰- 已标记为答案 KeFang Chen 2010年3月22日 5:55
-
你这样试试:
string[] resultArray=new string[geshu-1] for (a = 1; a < geshu; a++)
{
Excel.Range step1 = xSheet.get_Range("A" + a, Missing.Value);
string A = (string)step1.Value2;
resultArray[a-1]=A;
if (step1.Value2 == null)
break;
Console.WriteLine("{0}", A); }
你想用的时候,直接resultArray[0]...
周雪峰
谢谢您,你帮了我大忙了。我马上测试。 -
给你一个万能版的:
HashTable ht = new HathTable(); // 定义一个表放数据
Console.WriteLine("give me a date");
int geshu = int.Parse(Console.ReadLine());
int a;
for (a = 1; a < geshu; a++)
{
Excel.Range step1 = xSheet.get_Range("A" + a, Missing.Value);
string A = (string)step1.Value2;
ht.Add("A" + a, A); // 把数据放到表里
if (step1.Value2 == null)
break;
Console.WriteLine("{0}", A);}
要用的时候:
string str = (string)ht["A3"]; // 取数据,索引是当时放进去的值(上面是 "A" + a)
// 任意类型,用(类型)ht[""]的方式转换就可以了,当然要和你放进去的类型一样才行。
霸王- 已标记为答案 KeFang Chen 2010年3月22日 5:55
-
给你一个万能版的:
HashTable ht = new HathTable(); // 定义一个表放数据
Console.WriteLine("give me a date");
int geshu = int.Parse(Console.ReadLine());
int a;
for (a = 1; a < geshu; a++)
{
Excel.Range step1 = xSheet.get_Range("A" + a, Missing.Value);
string A = (string)step1.Value2;
ht.Add("A" + a, A); // 把数据放到表里
if (step1.Value2 == null)
break;
Console.WriteLine("{0}", A);}
要用的时候:
string str = (string)ht["A3"]; // 取数据,索引是当时放进去的值(上面是 "A" + a)
// 任意类型,用(类型)ht[""]的方式转换就可以了,当然要和你放进去的类型一样才行。
霸王
谢谢,我马上测试。我天天在,以后还有很多问题会出现,希望你们一直能帮助我学习。大恩不言谢。