示例如下,
记事本中第一行中记录aaa|20|30
记事本中第二行中记录bbb|15|25
记事本中第三行中记录ccc|20|40
....其中读取记事本中的每一行所有元素代码如下:
string []lines=File.ReadAllLines(@"../../card.dat");
foreach(string line in lines)
{
string []arr=line.Split('|');//分隔数组
string name=arr[0]; //名字为数组中第一个元素
int price=Convert.ToInt32(arr[1]);//价格为数组中第二个元素
int quantity=Convert.ToInt32(arr[2]);//数量为数组中第三个元素
}程序界面中,有2个combox,一个是用来选择名字的,一个用来选择数量的。如何通过combox中的名字和记事本中的姓名元素相比较,然后---只修改其中第三个元素 arr[2]的数量?其中,说白了,就想当于一个产品入库的程序,通过combox中产品的名字的选择,而修改记事本中 arr[2]的元素值...最后不要是那种直接arr[2]=50之类的赋值,因为太多东西了,这样一个个赋值要累死的。初学C#。望高手指教!谢谢

解决方案 »

  1.   

    不是很明白你的意思
    不过可以设置一个类,你的名称,数量等都可以写成这个类的属性
    这样解析一行信息,就创建一个对象,并把对应的值赋给这个对象。
    最后重写一下tostring方法,然后把这个类添加到combox中,这样combox操作的就直接是类对象了
    修改也方便点。
    不知道能不能听明白……
      

  2.   

    http://blog.csdn.net/yelancao/archive/2008/05/17/2454551.aspx
      

  3.   

    这个不叫记事本,叫文本文件。可以定义一个类,来表示这3个字段,读取所有记录到一个List里面。用Linq查询即可。
      

  4.   

    感觉有点复杂不是很容易让人理解,不知道用XML 或者 JSON 会不会好点?
      

  5.   

    你不用个StreamReader去读取文本文件的内容好些.还方便些.
      

  6.   

    streamReader直接全部读取,把所有的药取出数据存入缓冲区,需要的时候按序号调出来对比就好了,不用这么麻烦吧。