黑马程序员技术交流社区
标题:
类中数组和变量调用的问题!!
[打印本页]
作者:
颜晓峰
时间:
2013-3-5 12:40
标题:
类中数组和变量调用的问题!!
1.jpg
(4.17 KB, 下载次数: 19)
下载附件
2013-3-5 12:12 上传
如图,我在WPF程序中建了一个Toos类。
下面是该类中的代码
public class Tools
{
public static int ckb_ischecked;
public static string[] s_userName;
public static string[] s_psd;
}
静态变量int ckb_ischecked用于存放一个整数,代表checkbox是否选定,比如1代表选定,0代表没选定。
在Login.xaml.cs中,我写了如下代码,运行,没问题
//判断checkbox状态,给静态变量ckb_ischecked赋值
private void ckbPwd_Checked(object sender, RoutedEventArgs e)
{
if (ckbPwd.IsChecked == true)
{
Tools.ckb_ischecked = 1;
}
else
Tools.ckb_ischecked = 0;
}
接着,我写了另一串代码
//判断记住密码是否勾选
if(ckbPwd.IsChecked==true)
{
//获取当前账号在combox下拉列表中的索引,将当前账号的密码存入索引相同的Tools.s_psd[]数组中。
Tools.s_psd[cbUserName.Items.IndexOf(cbUserName.Text)] = txtPwd.Text;
}
问题来了。。。
2.jpg
(30.3 KB, 下载次数: 19)
下载附件
2013-3-5 12:23 上传
我知道这是要求我要将数组new()一次,但如果new()了,就是一个全新的数组了,原本的内容都不见。
我希望存的东西能一直在,就像静态变量int ckb_ischecked。
由于每次打开窗体都有可能要往该数组里面添加数据,窗体重新打开就意味着要new()了。。。。。
为什么数组不能像其他变量一样直接使用呢!?
类中的数组和变量调用有什么区别?
有办法直接使用类中数组么?
作者:
赵文博
时间:
2013-3-5 15:15
你可以用Hashtable,写成ststic的,声明的时候new一下,代码如下
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections; //使用Hashtable时,必须引入这个命名空间
namespace ConsoleApplication11
{
class Program
{
static Hashtable ht = new Hashtable(); //创建一个Hashtable实例
static void Main(string[] args)
{
string name = "abc"; //用户名
string pwd = "123"; //密码
//将用户名和密码作为键值对存到ht
if( ht.Contains(name)==false )
{
ht.Add(name, pwd); //如果不存在,就添加进去
};
Console.WriteLine(ht[name]); //此处输出pwd
Console.ReadKey();
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2