A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 颜晓峰 中级黑马   /  2013-3-5 12:40  /  1270 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


如图,我在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;
                }
问题来了。。。

我知道这是要求我要将数组new()一次,但如果new()了,就是一个全新的数组了,原本的内容都不见。
我希望存的东西能一直在,就像静态变量int ckb_ischecked。
由于每次打开窗体都有可能要往该数组里面添加数据,窗体重新打开就意味着要new()了。。。。。
为什么数组不能像其他变量一样直接使用呢!?
类中的数组和变量调用有什么区别?
有办法直接使用类中数组么?

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

1 个回复

倒序浏览
你可以用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();

        }
    }
}

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马