C#
柠檬精爱喝白醋
2020年Java转C#.net
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C# 桌面应用添加启动等待画面(SplashScreen)
最近闲下来,准备看看优化一下公司的旧系统,首先应用打开时没有启动等待画面,如果初始化应用时间过长会让用户认为没有启动成功,所以启动画面是很有必要的,先弄这个吧。很多文章都对DevExpress的SplashScreenManager控件进行详细的应用实例介绍,我就不再介绍这个控件了,具体文章可以查看这两个文章:SplashScreenManager控件介绍SplashScreen和WaitForm使用还有一种更简单的方式来创建一个启动画面(如果不需要加载进度表展示的话),只需要新建一个Form窗.原创 2021-09-09 09:08:09 · 3820 阅读 · 0 评论 -
C# 远程下载服务器文件到本机
好久没有更新文章了,最近一直在出差。这次甲方希望系统可以下载日志文件以查看设备的启停运行情况,我就在页面中添加了一个按钮和一个下拉框来实现下载文件(毕竟新需求没给钱,怎么简单怎么做吧)首先需要将日志文件(日志使用NLog进行记录,存放在了项目下的logs文件夹下)查询出来放入下拉框中,下拉框我使用的是 aspx控件dropdownlist,在页面加载时进行一次文件名查询和下拉框元素初始化,部分代码如下:xxPage.aspx:<asp:DropDownList id="fileName" r.原创 2021-06-07 10:08:43 · 1133 阅读 · 0 评论 -
C# WinForm实现窗口始终在顶层
在聊微信的时候发现桌面版的聊天窗口上方有一个图钉标签,可以使聊天窗口始终在顶层,这个功能我们也可以用在自己的程序中,实现也很简单。只需要设置一个属性即可。窗体属性TopMost:获取或设置一个值,指示该窗体是否应显示为最顶层窗体。设置为 true,将窗体显示为最顶层窗体;设置为 false则相反。 默认值为 false。简单实例: private void TopMost_button_Click(object sender, EventArgs e) { .原创 2021-01-14 10:05:37 · 6163 阅读 · 0 评论 -
C# 测试SqlServer连接及设置连接超时时间
在项目中,会有一种场景:需要提前判断本地或远程数据库是否可以连接上。直接进行判断: private string _strConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["DispatchDB"].ToString(); public bool sqlConnectCheck() { bool connectFlag =.原创 2020-12-26 13:02:40 · 11422 阅读 · 3 评论 -
C#中WinForm程序退出方法(释放资源)
在旧winform项目中,发现将程序应用关闭后其实并没有真正的完全释放了资源,原因可能是有一部分委托和还在运行的线程并没有随着应用的关闭而停止。现在研究一下怎么释放资源和强制关闭应用:销毁代码,释放资源方法:this.Dispose();this.DialogResult = DialogResult.OK;退出WinForm程序包括有很多方法,如:this.Close();Application.Exit();Application.ExitThread();System.Env.原创 2020-12-14 11:23:37 · 9672 阅读 · 0 评论 -
C# 使用quartz实现定时触发作业
Quartz3.0之前是同步执行的,quartz3.0后为异步执行(只支持framework4.5.2及之后版本)在使用NUGET程序包下载quartz包时需确认版本是否兼容!quartz 2.6.21、创建job类实现IJob接口using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using Quartz;name原创 2020-11-10 14:28:15 · 819 阅读 · 0 评论 -
Quartz.Net定时任务时间表达式设置
Quartz.Net定时任务时间表达式设置转载自 http://www.jsons.cn/articleinfo/280/记录接触.NET的学习路程这些星号由左到右按顺序代表 : * * * * * * * 格式: [秒] [分] [小时] [日] [月] [周] [年] 序号 说明 是否...转载 2020-04-27 14:01:54 · 1525 阅读 · 0 评论 -
C# 文件创建和FTP文件上传下载
应用场景:项目需增加每分钟将实时统计数据写入文件后通过FTP发送给数据分析监管平台的功能,简单地写一下创建文件和FTP文件上传的小例子。一、创建文件 FtpFileUpload ftpFileUpload = new FtpFileUpload(); /// <summary> /// 创建文件 /// </summary> /// <param name="psList">要写入文件的数据记录数组</param> .原创 2020-09-12 15:08:15 · 378 阅读 · 0 评论 -
C# MemoryStream应用(二进制字节数组与DataTable相互转换)
应用背景:项目改造需要将当天实时数据备份到历史数据表中,将实时数据的部分字段的是DataTable转换成二进制数据以方便存储为一条历史数据记录入库;当需要查询历史数据时,再将二进制数据转化为DataTable方便进行页面数据展示。MemoryStream的应用://将DataTable转换为byte[]二进制数组private static byte[] DataTableToByte(DataTable dt){ byte[] bytes; using (MemorySt.原创 2020-09-12 13:03:35 · 2131 阅读 · 0 评论 -
C# Timer 每日定时执行任务
应用场景公司旧项目需修改原有的数据备份功能,原功能为在实时数据入库后进行数据备份,备份方法为将实时数据转化为二进制数组后按照当天日期进行入库,之后每次有实时数据入库都需要将历史数据表中的二进制数据字段查询后在尾部添加新二进制数据,再更新入库。然而这个系统为数据监控系统,每秒都会有将近百条记录入库,所以上述原功能会导致运行迟缓,消耗资源。现改为每日零时进行一次性的数据备份。定时任务可以有两种方式实现:第一种是使用定时间隔为一秒的计时器System.Timers.Timer,一直循环判断当前时间是.原创 2020-09-03 11:34:51 · 15598 阅读 · 2 评论 -
C# 数字字符串左右补零
左补零:1、string num= "23";Console.WriteLine(string.Format("{0:d5}", num));Console.WriteLine(string.Format("{0:d5}", 24));Console.WriteLine(25.ToString("D5"));Console.ReadKey();结果230002400025格式D只对十进制整数有效,带小数会报错。2、string a = "24";string b = "24.原创 2020-08-26 09:01:59 · 3637 阅读 · 0 评论 -
C# 多线程 ThreadStart和ParameterizedThreadStart
线程是轻量级进程。一个使用线程的常见实例是现代操作系统中并行编程的实现。使用线程节省了 CPU 周期的浪费,同时提高了应用程序的效率。每个线程都定义了一个独特的控制流。如果应用程序涉及到复杂的和耗时的操作,那么设置不同的线程执行路径往往是有益的,每个线程执行特定的工作。线程生命周期线程生命周期开始于 System.Threading.Thread 类的对象被创建时,结束于线程被终止或完成执行时。线程生命周期中的各种状态:未启动状态:当线程实例被创建但 Start 方法未被调用时的状况。就绪状态:原创 2020-08-22 14:04:31 · 1937 阅读 · 0 评论 -
C# ASP.NET实现Excel文件导入导出 及过程问题解决
前几天做了关于winform对excel文件导入导出的小例子,今天继续关于页面实现excel文件导入导出的例子。excel导入依然是OLE的基础操作流程;excel导出GridView中查询的数据。做一个简单的界面:页面:<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ExcelOperate.aspx.cs" Inherits="TestWeb1.WebPage.ExcelOperate" EnableEventValida原创 2020-07-03 13:56:06 · 1330 阅读 · 0 评论 -
C# 页面request传入参数封装进Dictionary
将Request传递过来的参数放到Dictionary中,可以减少大量的重复代码。用以代替Java中的Request.parameterMap();方法。 public static Dictionary<object, object> request2Dic(HttpRequest request) { Dictionary<object, object> returnDic = new Dictionary<object,原创 2020-06-30 15:45:25 · 950 阅读 · 0 评论 -
C# 对XML文件的基本操作(创建、增删改查)
在之前做Java项目时经常用到XML文件的读取写入操作,在学习C#的过程中偶然想起来xml,看了看和Java的基本一致。简单做个util类来进行测试验证。使用的命名空间是System.Xmlclass XMLUtils { /// <summary> /// 生成XML文件 /// </summary> /// <param name="xmlFilePath">XML文件地址</param原创 2020-06-30 14:07:43 · 580 阅读 · 0 评论 -
C# string与ASCII码相互转换及包含中文字符的转换方法
此文章分别转载自C#字符串转换为Acsii码,Ascii转化为字符串和ASP.NET 或C# 中ASCII码含中文字符的编解码处理 /// <summary> /// C# 字符转ASCII码 /// </summary> /// <param name="character"></param> /// <returns></returns>转载 2020-06-29 10:29:55 · 6028 阅读 · 1 评论 -
C# 基础 Dictionary(字典)和ConcurrentDictionary(线程安全的字典)
一、DictionaryDictionary<TKey, TValue> 泛型类提供了键值对的映射。通过键来检索值的速度是非常快的,接近于 O(1),这是因为 Dictionary<TKey, TValue> 类是作为一个哈希表来实现的。检索速度取决于为 TKey 指定的类型的哈希算法的质量。TValue可以是值类型,数组,类或其他。Dictionary是一种变种的HashTable,它采用一种分离链接散列表的数据结构来解决哈希冲突的问题。命名空间System.Collectio原创 2020-06-20 16:25:23 · 22871 阅读 · 0 评论 -
C# 基础 Queue(队列)和ConcurrentQueue(线程安全的队列)
一、Queue队列(Queue)代表了一个先进先出的对象集合。当您需要对各项进行先进先出的访问时,则使用队列。当您在列表中添加一项,称为入队,当您从列表中移除一项时,称为出队。Queue 类的方法和属性Queue 类的一些常用的 属性:属性描述Count获取 Queue 中包含的元素个数。Queue 类的一些常用的 方法:方法描述public virtual void Clear();从 Queue 中移除所有的元素。public virtu原创 2020-06-19 16:52:54 · 19175 阅读 · 0 评论 -
C# 基础 Stack(堆栈)和ConcurrentStack(线程安全的堆栈)
一、Stack堆栈(Stack)代表了一个后进先出的对象集合。当您需要对各项进行后进先出的访问时,则使用堆栈。当您在列表中添加一项,称为推入元素,当您从列表中移除一项时,称为弹出元素。Stack 类的方法和属性Stack 类的一些常用的 属性:属性描述Count获取 Stack 中包含的元素个数。Stack 类的一些常用的 方法:方法描述public virtual void Clear();从 Stack 中移除所有的元素。public v原创 2020-06-19 16:02:20 · 2296 阅读 · 0 评论 -
C# 去除DataTable表中重复行
去除DataTable表中重复行有两种方法:一、利用sql语句的distinct 关键字如:select distinct * from table_name;二、利用DataView.ToTable()方法1.DataView.ToTable()根据现有DataView中的行,创建并返回一个新的DataTable。2.DataView.ToTable(String)根据现有DataView中的行,创建并返回一个新的DataTable。参数String为返回的DataTable的名称,输出的表原创 2020-05-15 09:07:05 · 7213 阅读 · 0 评论 -
C# context.Response.End()执行时抛异常
context.Response.Write();将一个字符串写入Http响应输出流context.Response.End();将当前所有缓冲的输出发送到客户端,停止该页的执行,并引发System.Web.HttpApplication.EndRequest事件。根据个人经验,在Aspx页面中利用Ajax调用ashx文件,都是使用Response.Write();Response.End...转载 2020-05-08 09:20:27 · 1975 阅读 · 0 评论 -
C# WebSocket 服务端接收并返回消息给客户端js
接手一个小项目,要求在页面控制电磁阀的开启关闭。采用WebSocket传递消息,临时做个demo来测试场景。1、首先写js中的部分代码: //通讯“套接字” var socket; switchLCBFun(); function switchLCBFun() { //var host = "ws://" + $("#HFCtrlIP").val() + ":" + $("#HFCtrlPort").val() + "/"; var host原创 2020-05-25 10:56:36 · 3177 阅读 · 0 评论 -
C# winform实现邮件发送带附件
C#学习过程中,偶然间接触到邮件发送的标题,点进去看看,收获不小。就试着自己写了一个,成功的发到邮箱里了。先上图:简单的界面设计代码如下:using System.Windows.Forms;using System;namespace SMTPTEST{ public partial class Form1 : Form { public Form1() { InitializeComponent(); }原创 2020-05-18 16:51:37 · 1162 阅读 · 0 评论 -
C# DAL层数据库操作类SqlHelper
public class SqlHelper{ //sql连接对象 private static SqlConnection conConnection = null; //数据库命令对象 private static SqlCommand conCommand = null; public SqlHelper() { } //获取数据库连接字符串 private static string getConnectionString原创 2020-05-15 14:51:56 · 1007 阅读 · 0 评论 -
C# winform实现excel导入导出 及实现过程中的问题解决
学习使用winform实现excel表格的导入导出功能,制作一个小demo。先画一个简单的界面:表名comboBox中的值为数据库中的表名[‘student’,‘teacher’,‘class’,‘school’],针对选中的表名进行查询,上传和下载。查询到的数据在dataGridView控件中显示。Form1.cs 代码:using System;using System.Collections.Generic;using System.ComponentModel;using Syste原创 2020-06-11 09:53:55 · 4730 阅读 · 0 评论 -
C# 基础 哈希表(Hashtable)
Hashtable 类代表了一系列基于键的哈希代码组织起来的键/值对。它使用键来访问集合中的元素。当您使用键访问元素时,则使用哈希表,而且您可以识别一个有用的键值。哈希表中的每一项都有一个键/值对。键用于访问集合中的项目。Hashtable 类的方法和属性常用属性属性描述Count获取 Hashtable 中包含的键值对个数。IsFixedSize获取一个值,表示 Hashtable 是否具有固定大小。IsReadOnly获取一个值,表示 Hashtable 是原创 2020-06-09 10:41:01 · 207 阅读 · 0 评论 -
C#基础 Arraylist与数组相互转换
集合与数组之间有可以直接相互转换的方法:1、集合转数组List<T> arrayList = new ArrayList<T>();T[] t = (T[]) arrayList.toArray(typeof(T));2、数组转集合T[] t = new T[size];List<T> l = Arrays.asList(t);实例public class Myclass { public static void main(Stringll原创 2020-06-09 10:18:06 · 4402 阅读 · 0 评论 -
C# 基础 SortedList
SortedList 类代表了一系列按照键来排序的键/值对,这些键值对可以通过键和索引来访问。排序列表是数组和哈希表的组合。它包含一个可使用键或索引访问各项的列表。如果您使用索引访问各项,则它是一个动态数组(ArrayList),如果您使用键访问各项,则它是一个哈希表(Hashtable)。集合中的各项总是按键值排序。SortedList 类的方法和属性常用属性属性描述Capacity获取或设置 SortedList 的容量。Count获取 SortedList 中的元原创 2020-06-09 08:47:24 · 340 阅读 · 0 评论 -
C# 基础 ArrayList
动态数组(ArrayList)代表了可被单独索引的对象的有序集合。它基本上可以替代一个数组。但是,与数组不同的是,您可以使用索引在指定的位置添加和移除项目,动态数组会自动重新调整它的大小。它也允许在列表中进行动态内存分配、增加、搜索、排序各项。ArrayList 类的方法和属性常用属性属性描述Capacity获取或设置 ArrayList 可以包含的元素个数。Count获取 ArrayList 中实际包含的元素个数。IsFixedSize获取一个值,表示 Arra原创 2020-06-05 08:45:10 · 385 阅读 · 0 评论
分享