C# 工具类

简介: C# 工具类


Dns获取本机IP地址

public static string GetLocalIP()
{
  try
  {
    string HostName = Dns.GetHostName(); //得到主机名
    IPHostEntry IpEntry = Dns.GetHostEntry(HostName);
    for (int i = 0; i < IpEntry.AddressList.Length; i++)
    {
      //从IP地址列表中筛选出IPv4类型的IP地址
      //AddressFamily.InterNetwork表示此IP为IPv4,
      //AddressFamily.InterNetworkV6表示此地址为IPv6类型
      if (IpEntry.AddressList[i].AddressFamily == AddressFamily.InterNetwork)
      {
        return IpEntry.AddressList[i].ToString();
      }
    }
    return "";
  }
  catch (Exception ex)
  {
    MessageBox.Show("获取本机IP出错:" + ex.Message);
    return "";
  }
}

获取当前项目App.config文件下的value值

//获取当前项目App.config文件下的 key=ActiveMQURL 的value值
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <add key="ActiveMQURL" value="tcp://xxxxx:xxxx" />
  </appSettings>
</configuration>
string url = System.Configuration.ConfigurationManager.AppSettings["ActiveMQURL"];
//获取+验证
if (ConfigurationManager.AppSettings["CameraDirver"].ToUpper() == "TOUPCAM")
{
  
}

将枚举值赋值到下拉文本框中

//将枚举值赋值到下拉文本框中
//定义静态方法进行转换
public static List<Item> EnumToList<T>()
{
  List<Item> ret = new List<Item>();
  foreach (Enum item in Enum.GetValues(typeof(T)))
  {
    Item it = new Item();
    it.Value = item;
    it.Name =Enum.GetName(typeof(T),item);
    ret.Add(it);
  }
  return ret;
}
//枚举声明
public enum SexType
{
  女=0,
  男=1
}
//第一种转换方式
tSex.DataSource = CommUtils.Bind.BindUtils.EnumToList<PQCS.Enums.SexType>();
//
[Serializable]
public class Item
{
  public string Name { get; set; }
  public Object Value { get; set; }
}

读取Json文件

public HttpService HttpService { get; set; } //
public LogService()
{
  Dictionary<String, String> keyValuePairs = LocalStorage.DeserializeJSON<Dictionary<String, String>>("LogConfig");
  if (true)
  {
    keyValuePairs = new Dictionary<string, string>();
    keyValuePairs.Add("logServiceUrl", "http://xxxxxx:xxxxx");
    //keyValuePairs.Add("logServiceUrl", "http://localhost:8080");
    LocalStorage.SerializeJSON(keyValuePairs, "LogConfig");
  }
  this.HttpService = new HttpService();
  this.HttpService.HostUrl = keyValuePairs["logServiceUrl"];//HostUrl string属性
}

JSON转换

public static T DeserializeJSON<T>(string name)
{
  byte[] data = ReadFile(name);
  if (data != null)
  {
    string text = Encoding.Default.GetString(data);
    object obj = Newtonsoft.Json.JsonConvert.DeserializeObject(text, typeof(T));
    return (T)obj;
  }
  else
  {
    return default(T);
  }
}
public static void SerializeJSON(Object obj, string name)
{
  string s = Newtonsoft.Json.JsonConvert.SerializeObject(obj);
  byte[] data = Encoding.Default.GetBytes(s);
  SaveFile(data, name);
}

使用文件流的方式,向文档中添加数据

FileStream 文件流 = new FileStream(蜡块打印路径, FileMode.Create, FileAccess.Write);//搜索创建写入文件 
StreamWriter sw = new StreamWriter(文件流, Encoding.Default);//sw(流作者)文件流编码默认
int 蜡块总数 = Convert.ToInt32(totalSample.Text);//起始值(蜡块数量)
int 材料数量 = Convert.ToInt32(totalL.Text);//结束值(材料数量)
int 取材次数 = 材料数量 - 蜡块总数;
string 病理号 = CurrentCaseViewModel.CaseNO;
if (取材次数 <= 0)
{
  if (材料数量 > 0)
  {
    sw.Write(病理号 + "-" + 材料数量.ToString());
  }
  else
  {
    sw.Write(病理号);
  }
  sw.Close();
  文件流.Close();
}

将数据写入指定路径文件中

string timestr = DateTime.Now.ToString("yyMMddHHmmssfff");
//写入第一个文件夹
string path = "C:\\" + fileName + "\\" +timestr + "-" + model.CaseNo+"-" + model.Number + ".txt";
FileStream fs = new FileStream(path, FileMode.Create, FileAccess.Write);//搜索创建写入文件
StreamWriter sw = new StreamWriter(fs, Encoding.UTF8);
sw.Write(model.CaseNo + "," + model.Number + "," + model.Type + "\r\n");
sw.Dispose();

检查文件是否存在,不存在时进行创建

string fileFolder = "C:\\" + fileName;
if (!Directory.Exists(fileFolder))
{
    Directory.CreateDirectory(fileFolder);
}

Json转换为对象

StreamReader file = File.OpenText(Environment.CurrentDirectory + "\\UpdateList.json");
Newtonsoft.Json.JsonTextReader reader = new Newtonsoft.Json.JsonTextReader(file);
 Newtonsoft.Json.JsonSerializer serializer = new Newtonsoft.Json.JsonSerializer();
 object obj = serializer.Deserialize(reader, typeof(List<UpdateConfig>));
 工作站List = obj as List<UpdateConfig>;
目录
相关文章
|
C# 对象存储
C#上传阿里云OSS工具类AliOSSTool
C#上传阿里云OSS工具类AliOSSTool
386 0
|
5月前
|
关系型数据库 C# 数据库
技术笔记:MSCL超级工具类(C#),开发人员必备,开发利器
技术笔记:MSCL超级工具类(C#),开发人员必备,开发利器
54 3
|
C# 开发者
C#扩展方法和工具类的区别
扩展方法和工具类的主要区别在于它们的作用。扩展方法旨在扩展现有的类,而工具类旨在提供一组通用且可靠的方法来执行某些任务。当需要扩展现有的类时,使用扩展方法;当需要实用函数来执行通用任务时,使用工具类。
77 0
|
SQL XML 关系型数据库
C#(.net) MySql数据库链接工具类
C#(.net) MySql数据库链接工具类
302 0
|
移动开发 JSON 缓存
钉钉消息机器人.Net通用C#Unity实现钉钉消息通知一个工具类(无需SDK,无其他引用)
钉钉消息机器人.Net通用C#Unity实现钉钉消息通知一个工具类(无需SDK,无其他引用) Chinar —— 心分享、心创新! 助力快速完成 .Net 通用的钉钉Post机器人消息通知 为初学者节省宝贵的时间,避免采坑! 官方文档详细,但实现方式上没有过多的说明。 本质上就是一个 POST 消息请求 所以我们只要, 完成正常发送POST 使得钉钉方从中可获取对应格式的数据 即可!
1171 0
钉钉消息机器人.Net通用C#Unity实现钉钉消息通知一个工具类(无需SDK,无其他引用)
|
C#
c#分页工具类,完美实现List分页
using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace ProjectProgress.
1709 0
|
C# 数据安全/隐私保护
【C#】工具类-FTP操作封装类FTPHelper
转载:http://blog.csdn.net/gdjlc/article/details/11968477 using System; using System.Collections.Generic; using System.
1279 0
C# 枚举操作工具类
&lt;span style="font-size:14px;"&gt;using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Reflection; using System.ComponentModel; using System.Collectio
1095 0