C#开发点滴记录

1.开发windows服务程序,不应该在程序中调用windform相关的方法与类库,会产生未知的异常,windows服务中是可以产生日志文件的,会生成在安装服务的当前路径下面,比如服务为D:/MyService.exe ,那么日志就会出现在该文件夹,启动服务 net start 服务名

2.C#去除字符串末尾空格和回车   Replace(" ", "").Replace(" ", "").Replace(" ", "").Replace(" ", "");

3.C#的三种程序运行方式,1.控制台程序:在所有任务执行完成后会自行退出,但只要还存有一个线程没有执行完,便会一直执行下去。若没有在执行的其他任务,且主线程执行到了末尾,则自动结束

             2.windows Server:以服务的方式运行程序,即便程序中所有任务已经执行完毕,也不会自动停止服务,除非手动关闭服务。

             3.winform应用程序:执行的程序包含应用程序界面,跟windows server类似,结束程序需要手动进行关闭,即使没有其他线程执行任何任务。

4.实时修改Appsetting的值,解决Appsetting值修改成功后再次读取未更新的问题

public void ModifyAppsetting(string key, string value)
{
System.Configuration.Configuration config = System.Configuration.ConfigurationManager.OpenExeConfiguration(System.Configuration.ConfigurationUserLevel.None);
config.AppSettings.Settings.Remove(key);
config.AppSettings.Settings.Add(key,value);
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings");//此语句是让下次读取Appsetting时,重新从硬盘读取
}

5.使用管理员权限运行程序(非手动)

程序集中右键属性-》安全性-》勾选《启用OnClick》->Properties中出现app.mainfest文件-》<requestedExecutionLevel level="asInvoker" uiAccess="false" />修改为<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />-》取消《启动OnClick》-》保存即可

6.计算分页总数算法 int totalPageNum = (totalRecord  +  pageSize  - 1) / pageSize;

7.控制台等待退出

while (Console.ReadLine() != "quit")
{
Console.WriteLine();
continue;
}

8.泛型限制类型为int、double、byte等值类型的写法,以下做示例

public T Add<T>(int a,int b) where T:struct 

{

    T value = (T)(a+b);

    return value;

}

原文地址:https://www.cnblogs.com/zst-blogs/p/9974835.html