在项目开发过程中,由于各种坑爹的需求,我们可能需要用户自己手动输入时间,不过这种功能一般都出现在自己家的后台里面,咳咳,言归正传。既然如此,那么这个时候我们就需要对用户手动输入的时间格式进行验证,方法如下://判断一个string型的时间格式是否正确string inputTime = "2014年05月20日";
DateTime dateTime = new DateTime();
bool convertResult = DateTime.TryParse(inputTime, out dateTime);如果转换失败,dateTim...
winform获取文件路径string str1 =Process.GetCurrentProcess().MainModule.FileName;//获得当前执行的exe的文件名。 string str2=Environment.CurrentDirectory;//获取和设置当前目录的完全限定路径。 string str3=Directory.GetCurrentDirectory();//获取应用程序的当前工作目录。 string str4=AppDomain.CurrentDomain.BaseDirectory;//获取基目录,它由程序集冲突解决程序用来探测程序集。 string str5=Application.StartupPat...
以ASP.NET Core WebAPI 作后端 API ,用 Vue 构建前端页面,用 Axios 从前端访问后端 API ,包括文件的上传和下载。 准备文件上传的API #region 文件上传 可以带参数 [HttpPost("upload")] public JsonResult uploadProject(IFormFile file, string userId) { if (file != null) { var fileDir = "D:\\aaa"; if (!Directory.Exists(fileDir)) ...
Semaphore负责协调线程,可以限制对某一资源访问的线程数量 这里对SemaphoreSlim类的用法做一个简单的例子:namespace WpfApplication6
{/// <summary>/// MainWindow.xaml 的交互逻辑/// </summary>public partial class MainWindow : Window{static SemaphoreSlim semLim = new SemaphoreSlim(3); //3表示最多只能有三个线程同时访问public MainWindow(){InitializeComponent();ConsoleManager.Show();//打开控制台窗口 }privat...
因为公司有多个服务器,要检查磁盘的使用情况确定程序放哪个服务器和清理垃圾,所以写个小程序帮忙检查。效果图: 后台代码: private void btnCheck_Click(object sender, EventArgs e){listBox1.Items.Clear();if (rbtnRemote.Checked){//远程RemoteDisk();}else{//本地LocalDisk();}}//查看本地private void LocalDisk(){WqlObjectQuery wmiquery = new WqlObjectQuery("select * from Win32_LogiCalDisk");ManagementObjectSearch...
1. 方法签名 由方法的名称,类型形参的个数和它的每一个形参(从左到右的顺序)的类型和种类(值,引用或输出)组成。方法签名不含返回类型。同一个类中定义多个方法名相同、参数列表(参数类型,参数个数)不同的方法,这样的形式我们称为方法重载。比如下面例子:class Program{staticvoid Main(string[] args){ Console.ReadKey();}publicint Add(int a,int b){return a + b;}publicint Add(int a, int b,int c){return a + b;}...
一 、list定义 当我们有很多类型一样的数据时,可以使用数组来进行存储并管理,但是这样的缺点是数组的大小是提前给定的、是固定的。 如果我们有许多类型一样但数量不定的数据,我们可以使用集合类来进行管理——例如列表List。我们可以使用列表List很方便的添加数据,删除数据以及其他的一些数据操作。List<T>类是ArrayList类的泛型等效类,该类使用大小可按需动态增加的数组实现IList<T>泛型接口。 泛型的好处:它为使用...
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "image/jpeg"; string chkCode = string.Empty; //颜色列表,用于验证码、噪线、噪点 Color[] color = { Color.Black, Color.Red, Color.Blue, Color.Green, Color.Orange, Color.Brown, Color.Brown, Color.DarkBlue }; //字体列表,用于验证码 string[] font = ...
假设当前页完整地址为:http://www.jbxue.com/aaa/bbb.aspx?id=5&name=kelli则: "http://"是协议名"www.jbxue.com"是域名"aaa"是站点名"bbb.aspx"是页面名(文件名)"id=5&name=kelli"是参数下面分享几个举得url中相关参数的例子,包括完整url、域名等信息。1,获取 完整url (协议名+域名+站点名+文件名+参数) 复制代码 代码示例:string url=Request.Url.ToString();url= http://www.jbxue.com/aaa/bbb.aspx?id=5&name=kelli2,...
上面博客学习了使用反射查看类型的信息,以及使用反射获取特性对象。下面使用反射来动态创建对象。首先准备一个Test类: public class TestClass{public TestClass(){Console.WriteLine("这是一个无参构造函数");}public TestClass(int a, int b){Console.WriteLine("这是一个有参数构造函数 > a+b=" + (a + b));}public int show(){return 1;}public static int show(int a,int b){return a + b;}}1.使用无参构造函数创建对象:...
一、泛型T这个T在实际使用中很常见,比如List<T>。其实我们还可以写成List<object>。但是这样写会有一个问题。比如我把一个int数据存入到一个List<object>集合中,int则会被自动转成object,当我们试图取取用这个int数据的时候,我们还要把object转成int。这期间有一个转换,int=》object=》int,这个转换涉及到拆箱和封箱操作,也就是引用类型到值类型或者值类型到引用过程转换的过程,这个是很耗时的。当数据量大的时候,这个对于...
由于在工作中经常要把数据库的统计数据导入Excel文件,进行IO磁盘操作,所以在这里记录下。首先创建默认文件夹,并返回文件夹路径。privatestaticstring CPath(string path){var index = path.LastIndexOf("/");var temp = path.Substring(0, index);if (!Directory.Exists(temp))//如果不存在就创建file文件夹 Directory.CreateDirectory(temp);//创建该文件夹 return path;}写入数据。us...
【转载】 最近在学设计模式,学到创建型模式的时候,碰到单例模式(或叫单件模式),现在整理一下笔记。 在《Design Patterns:Elements of Resuable Object-Oriented Software》中的定义是:Ensure a class only has one instance,and provide a global point of access to。它的主要特点不是根据客户程序调用生成一个新的实例,而是控制某个类型的实例数量-唯一一个。(《设计模式-基于C#的工程化实现及扩展》,王翔)。也就...
最近一直在忙着单位核心开发组件的版本更新,前天加了一个通宵,昨天晚上却睡不着,脑子里面突然不知怎的一直在想贪吃蛇的实现方法。以往也有类似的情况,白天一直想不通的问题,晚上做梦有时会想到更好的版本,于是抽出时间按照梦里想到的方法测试编写一下,没想到从打开VisualStudio到完成初稿测试,只用了4个小时。不敢独享,又加上好久没有写文章了,于是将我的是实现方法写出来供大家一起讨论,高手也请多多指教。完成实现截图...