如下面代码是对注册表操作的DEMO
//--------------第一种风格代码开始--------------------------
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.Win32;
namespace Sep_23_Registry_WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//-----------------------------------------------------
//下面定义了两个类的全局变量, 因为有多处要用到,
//为了方便起见, 所以定义为整个类可用的变量
//下面第二风格就不定义类全局变量
//下面的 key 定义为 static, 是不是尽可能不要将字段定义为 static?!
static RegistryKey key = Registry.CurrentUser;
RegistryKey subKey = key.OpenSubKey("MyKey", true);
//----------------------------------------------------
private void Form1_Load(object sender, EventArgs e)
{
if (subKey.GetValue("width") != null && subKey.GetValue("height") != null)
{
this.Size = new Size((int)subKey.GetValue("width"), (int)subKey.GetValue("height"));
}
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
subKey.SetValue("width", this.Size.Width);
subKey.SetValue("height", this.Size.Height);
}
}
}
//-------------------------------------第一种风格代码结束--------------------
//-------------------------------------第二种风格代码开始-------------------
//命名空间省略
namespace Sep_23_Registry_WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//----------------不定义类全局变量
private void Form1_Load(object sender, EventArgs e)
{
//下面定义两个 RegistryKey
RegistryKey key = Registry.CurrentUser;
RegistryKey subKey = key.OpenSubKey("MyKey");
if (subKey.GetValue("width") != null && subKey.GetValue("height") != null)
{
this.Size = new Size((int)subKey.GetValue("width"), (int)subKey.GetValue("height"));
}
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
//下面定义两个 RegistryKey
//这里又定义了一次
RegistryKey key = Registry.CurrentUser;
RegistryKey subKey = key.OpenSubKey("MyKey", true);
subKey.SetValue("width", this.Size.Width);
subKey.SetValue("height", this.Size.Height);
}
}
}
//--------------------------第二种风格代码结束-------------------------------------
偶想问的问题有:
1. static 是不是要尽量少用?
2. 对于程序多次用到的变量是定义是全局好还是在必须用到的地方才定义,
偶曾听老鸟们说尽最大可能不定义全局变量, 但如果用后者的话偶又觉得老是重新定义, 会不会耗资源和影响程序运行速度.
程序员一般是遵行哪个风格比较好?!
3.下面两种风格代码哪种好, 第一种代码比较整洁, 但多用到了两个变量, 耗资源, 而第二种却不用, 但代码相对乱了一点.
程序员一般是遵行哪个风格比较好?!
//------------------第一种风格代码开始---------------------
//将两个要用到的变量先存起来再使用
int width = int(subKey.GetValue("width"));
int height = (int)subKey.GetValue("height"));
this.Size = new Size(width,height);
//------------------第一种风格代码结束---------------------
//------------------第二种风格代码开始---------------------
//不存将使用到的变量, 直接调用
this.Size = new Size((int)subKey.GetValue("width"), (int)subKey.GetValue("height"));
//------------------第二种风格代码结束---------------------
偶是新手, 有不正确的地方请大虾们多多包涵!谢谢!