一些小的知识点 有用的

readonly 关键字与 const 关键字不同。

1. const 字段只能在该字段的声明中初始化。
   readonly 字段可以在声明或构造函数中初始化。因此,根据所使用的构造函数,readonly 字段可能具有不同的值。

2. const 字段是编译时常数,而 readonly 字段可用于运行时常数。

3. const 默认就是静态的,而 readonly 如果设置成静态的就必须显示声明。

4.const 对于引用类型的常数,可能的值只能是 string 和 null。
   readonly可以是任何类型

如何确保在C#中只有一个程序(实例)运行?

  解答:主要应用System.Diagnostics名字空间中的Process类来实现,思路,我们在运行程序前,
查找进程中是否有同名的进程,同时运行位置也相同程,如是没有运行该程序,如果有,就将同名的同位置的程序窗口置前.
主要代码:


[C#]
public static Process RunningInstance()
{
 Process current = Process.GetCurrentProcess();
 Process[] processes = Process.GetProcessesByName (current.ProcessName);
 //查找相同名称的进程
 foreach (Process process in processes)
 {
  //忽略当前进程
  if (process.Id != current.Id)
  {
   //确认相同进程的程序运行位置是否一样.
   if (Assembly.GetExecutingAssembly().Location.Replace("/", "\\") == current.MainModule.FileName)
   {
    //Return the other process instance.
    return process;
   }
  } 
 }
 //No other instance was found, return null.
 return null;

///返回值判断是否有相同的实例  
  private   static   bool   PrevInstance()  
  {  
  string   procName=System.Diagnostics.Process.GetCurrentProcess().ProcessName;  
  if   (System.Diagnostics.Process.GetProcessesByName(procName).GetUpperBound(0)>0)  
  {  
  return   true;  
  }  
  else  
                  {  
  return   false;  
  }  
  }  

posted on 2008-04-03 01:20  romce  阅读(241)  评论(0)    收藏  举报