![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
文章平均质量分 52
关于C#的技术代码
laizhixue
我就是我,不一樣的煙火
展开
-
ASP.NET WebAPI开发实例
最近因为朋友的一个提问,自己就去学习了一下WebApi,后来百度了一下发现了一遍不错的文档,记录转载一下。一、环境搭建打开VS2012, IDE版本为Visual Studio Ultimate 2012文件 - 新建项目 - Visual C# - Web – ASP.NET MVC4 Web 应用程序选择空项目组项目右键 – 管理NuGet程序包选择联机 – 搜索webapi – 安装webapi2.2 – 安装webapi2.2helppageWebapi2.2为res原创 2020-06-29 16:52:31 · 4365 阅读 · 1 评论 -
【C#公共帮助类】JsonHelper 操作帮助类
【C#公共帮助类】JsonHelper 操作帮助类四个主要操作类:JsonConverter 、JsonHelper 、JsonSplit 、AjaxResult一、JsonConverter:自定义查询对象转换动态类、object动态类转换json包、json转换object动态类、DataReader转换为Json、DataSet转换为Json、DataTable转成Json、Da...原创 2020-01-18 09:13:25 · 354 阅读 · 0 评论 -
WCF简单例子+Asp.Net MVC调用+WinForm调用
1.创建WCF服务项目:阐述:WCF服务库与WCF服务应用程序的区别。WCF服务库,可以认为是一个包含WCF服务以及契约定义的类库。这儿库还不能直接运行,你可以在其他项目里引用,在宿主里启用托管这个库。而WCF应用程序,是一个可以执行的程序,它有独立的进程,WCF服务类契约的定义,可以直接看到运行的效果。此项目模板应该是基于IIS托管的程序。前者一般考虑WCF服务设计的时候,服务类...原创 2019-02-22 09:44:06 · 1697 阅读 · 2 评论 -
C# ADO.Net
ADO.NET是.NET數據庫的訪問架構,ADO.NET是數據庫應用程序和數據源之間的溝通的橋樑,提供一個面向對象的數據訪問架構,用來開發數據庫應用程序。提供對象,對象封裝了操作數據庫的方法組成: .Net Framework數據提供程序 數據集 DataSet ADO.NET結構五大類庫:Connection 用於建立與數據庫的鏈接Com...原创 2019-09-11 10:19:25 · 233 阅读 · 1 评论 -
Windows窗体应用程序~随机数字抽奖系统
实现后的效果图:步骤:1.创建Windows窗体应用程序项目Form1.cs:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using Syste...原创 2019-06-14 11:02:58 · 3102 阅读 · 2 评论 -
postman请求idea接口无效解决办法
取消断点调试即可恢复正常,有需要可以再打开断点调试,后面又遇到可以重复上述操作。原创 2024-05-11 21:40:42 · 155 阅读 · 0 评论 -
简单设计模式讲解
设计模式是在软件开发中经常使用的最佳实践,用于解决在软件设计中经常遇到的问题。下面我将为你讲解几种常见的设计模式,并提供相应的C#代码示例。这些只是设计模式中的一小部分,每种设计模式都有其特定的应用场景和优势。通过学习和实践这些设计模式,你可以更好地解决软件开发中遇到的各种问题,提高代码的质量和可维护性。定义一系列的算法,并将每一个算法封装起来,使它们可以互相替换。定义对象之间的一对多依赖关系,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。3. 观察者模式(Observer Pattern)原创 2024-04-01 18:45:20 · 748 阅读 · 0 评论 -
C# OAuth单点登录的实现
单点登录(Single Sign-On,简称SSO)是一种身份验证技术,它允许用户使用一组凭据(如用户名和密码)登录多个相关但独立的系统,而无需在每个系统中都进行登录操作。下面是一个简单的SSO实现示例:假设我们有两个应用程序:App A和App B。这两个应用程序都信任同一个身份验证服务(Identity Service)。用户登录:用户首先访问App A的登录页面。用户输入用户名和密码,并提交给App A。App A将用户的登录信息转发给Identity Service进行验证。原创 2024-03-31 10:26:44 · 1451 阅读 · 1 评论 -
C#网站系统如何监控登录过期
接下来,在网站的每个需要验证登录状态的页面中,我们可以检查会话变量Session["IsLoggedIn"]是否存在且为true。注意:在真实的生产环境中,你需要确保API端点/api/checksession是安全的,并且只有已验证的用户才能访问。这个示例提供了一个基本的框架来监控登录过期,但请注意,实际的实现可能会根据你的具体需求和网站架构有所不同。最后,不要忘记在全局错误处理程序中处理会话过期的情况,以确保在用户尝试访问需要登录的页面时能够给出恰当的提示。然后,我们需要设置一个会话的超时时间。原创 2024-03-31 10:22:39 · 751 阅读 · 0 评论 -
C# Task任务详细讲解
请注意,在上面的示例中,Task.CurrentId.IsCancellationRequested 是不正确的用法,因为 Task.CurrentId 是一个只读的属性,它表示当前正在执行的任务的 ID,而不是 CancellationToken。虽然 Task.Run 是更现代和推荐的方式来创建和启动任务,但了解 Task.Factory 也是很有用的,因为它提供了更多的配置选项。Task task1 = Task.Run(() => DoWork("任务A", 2000));原创 2024-03-29 22:32:46 · 1428 阅读 · 0 评论 -
C#多线程编程详细教学
然而,多线程编程也带来了线程安全和同步的问题,需要使用适当的同步机制来确保数据的一致性和避免线程冲突。在编写多线程程序时,应该仔细考虑线程间的交互和共享资源的访问方式,以确保程序的正确性和性能。在C#中,多线程编程是一种非常重要的技术,它允许程序同时执行多个任务,从而提高了应用程序的响应性和整体性能。一个线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。有时候,简单的lock或Monitor就能满足需求,而在复杂的场景下,可能需要结合多种策略来确保线程安全。原创 2024-03-29 22:20:39 · 1288 阅读 · 1 评论 -
C#热门技术应用:跨平台、异步编程与云原生
随着云计算的普及,云原生应用成为了新的发展趋势。比如,C#拥有强大的LINQ(Language Integrated Query)功能,它允许你以声明性方式查询和操作数据,无论是内存中的对象集合还是数据库中的数据,都可以轻松应对。C#,作为微软主导的编程语言,近年来在跨平台应用开发、异步编程以及云原生应用等领域展现出了强大的生命力。在UI开发方面,C#也有一套完整的解决方案,比如使用WinForms或WPF来创建Windows桌面应用,或者使用Xamarin或MAUI来开发跨平台的移动应用。原创 2024-03-29 22:08:17 · 532 阅读 · 0 评论 -
C#热门技术应用:探索.NET Core与ASP.NET Core的前沿
C#作为一门强大的面向对象编程语言,在.NET Core和ASP.NET Core的推动下,正在不断拓展其应用领域。ASP.NET Core是微软推出的新一代Web开发框架,它基于.NET Core构建,提供了高效、灵活且安全的Web开发体验。.NET Core是微软开源的跨平台.NET实现,它允许开发者在Windows、Linux和macOS上构建和运行高性能的.NET应用。此外,.NET Core的模块化设计使得开发者可以按需选择需要的组件,从而减小了应用的大小,提高了启动速度。原创 2024-03-29 22:00:55 · 439 阅读 · 0 评论 -
.NET Core教程:深入实践与实例解析
通过本文的介绍和实例演示,我们详细探讨了.NET Core的基础知识、项目创建、依赖管理以及ASP.NET Core Web应用开发等方面的内容。相信随着对.NET Core的深入学习和实践,我们将能够构建出更加高效、稳定、安全的软件系统,为用户带来更好的体验和价值。随着技术的发展,.NET Core作为微软推出的一个开源、跨平台的.NET实现,已经越来越受到开发者的青睐。ASP.NET Core是.NET Core上的一个高性能、模块化的Web框架,它允许我们构建跨平台的Web应用程序。原创 2024-03-26 20:49:37 · 628 阅读 · 0 评论 -
.NET Core教程:入门与实践实例
NET Core是微软开发的一个开源的、跨平台的.NET实现,它允许开发者使用C#、F#和VB等语言编写应用程序,并能够在Windows、Linux和macOS等多个操作系统上运行。与传统的.NET Framework相比,.NET Core更加轻量级、模块化,并且具有更好的性能。在未来的开发中,我们可以利用.NET Core构建各种类型的应用程序,如Web应用、微服务、桌面应用等,并通过不断学习和实践,提高自己的编程技能,为构建高效、稳定、安全的软件系统贡献力量。一、.NET Core概述。原创 2024-03-26 20:33:53 · 834 阅读 · 0 评论 -
C#获取指定xml文件的节点数据
/// <summary> /// 获取指定文件的xml的对应key的值 /// </summary> /// <param name="catalogName">目录名</param> /// <param name="fileName">文件名</param> /// <param name="key">键值</param>...原创 2020-06-29 16:57:39 · 3295 阅读 · 1 评论 -
C# 后台请求Web API
1.新建控制台应用程序代码: class Program { static void Main(string[] args) { string ssPost = HttpPost("http://localhost:9041/api/MyApi/GetMethodStr2", "{\"Name\":\"zhangsan\"}"); string ssGet = HttpGet("http://localho原创 2020-06-29 16:52:09 · 760 阅读 · 0 评论 -
C#利用反射实现两个类的对象之间相同属性的值的复制
今天在拷贝对象的时候,看着代码实在是有点烦,一堆一样的代码,还是找找有没有直接反射拷贝不同对象相同属性的值百度了一下,结果第二个博客就是,地址就是最上面的链接地址其中主要的就是下面这段代码了/// <summary> /// 传入类型B的对象b,将b与a相同名称的值进行赋值给创建的a中 /// </summary> ...原创 2020-03-17 18:09:38 · 647 阅读 · 1 评论 -
C# 字符数字千分位转换并保留N位小数
/// <summary> /// 设置千分位,并保留N位小数,补0 /// </summary> /// <param name="money">数字</param> /// <param name="decimalPlace">小数位数</para...原创 2020-03-17 18:09:18 · 1131 阅读 · 1 评论 -
C# foreach 遍历 DataTalbe数据 dt.Rows 取值失败原因
注意:变量r不能用var声明,需要具体的DataRow声明DataTable result = bll.GetModel();foreach (DataRow r in result.Rows){ sHtml.Append(string.Format("<option value='{0}' >{1}</option>", r["Model"].ToS...原创 2019-12-05 15:44:35 · 2639 阅读 · 1 评论 -
C# 未找到元数据文件 解决方法
1.点击生成清理解决方案2.生成解决方案,千万别点重新生成,没啥效果原创 2019-11-13 10:10:51 · 3979 阅读 · 5 评论 -
C#Linq与Lambda表达式的用法讲解----可用於模糊查找
自己創建C#項目:c#控制台應用程序using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApplication1{ class Program { s...原创 2018-04-11 16:46:50 · 811 阅读 · 0 评论 -
c# .net mvc5 Console.WriteLine控制台没有输出
解决办法:使用System.Diagnostics.Debug.WriteLine(...);原创 2018-02-27 10:37:45 · 1074 阅读 · 0 评论 -
C# 中将json字符串转化成List<obj>
在程序集中添加引用System.Web.Extensions在类中添加引用using System.Runtime.Serialization;using System.Web.Script.Serialization;JavaScriptSerializer Serializer = new JavaScriptSerializer();List<DropDownBa...原创 2019-03-26 11:56:51 · 10922 阅读 · 1 评论 -
让VS2013支持 C# 6.0 语法
让VS2013支持 C# 6.0 语法还未升级使用VS2015前,又想尝试使用C# 6.0的语言特性,可以用以下方法启用:VS2013中“工具”下选择“程序包管理器控制台”:选中需要使用C# 6.0的项目,再敲入"Install-Package Microsoft.Net.Compilers"命令:PM> Install-Package Micr转载 2018-01-16 19:38:52 · 4138 阅读 · 1 评论 -
VS2013下C#开发连接MySQL数据库
最近在做一个c#开发,使用的工具是vs2013,MySQL数据库,在进行数据库连接时遇到一些问题,现在写出来供大家参考。第一步:下载所需的.NET文件,下载地址为:http://dev.mysql.com/downloads/connector/net/6.6.html#downloads ,下载平台选择.Net&Mono,下载ZIP免安装版。解压并在>项目>添加引用>浏览 中添加所下载的文件。!转载 2018-01-22 16:24:29 · 1088 阅读 · 0 评论 -
前后台的字符串截取
前台三种JS截取字符串方法JS提供三个截取字符串的方法,分别是:slice(),substring()和substr(),它们都可以接受一个或两个参数:var stmp = "rcinn.cn";使用一个参数alert(stmp.slice(3));//从第4个字符开始,截取到最后个字符;返回"nn.cn"alert(stmp.substring(3));//从第4个字符开始,截...原创 2018-07-31 11:23:53 · 1990 阅读 · 0 评论 -
C# 调用 SQL 存儲過程(传中文参数乱码解决,SQL字符串拼接执行异常)
C#后台代码: //<!---- start laizhixue 2019.06.18 ----> //導出自定義數據的Excel數據 public class ReturnMsg { public string ReturnState { get; set; } public string...原创 2019-09-10 11:35:09 · 600 阅读 · 0 评论 -
C# 委托的实现
public delegate void GreetingDelegate(string name); class Program{ private static void EnglishGreeting(string name) { Console.WriteLine("Good Morning, " + name); } privat...原创 2019-07-15 17:16:38 · 306 阅读 · 0 评论 -
C# 正负数 舍数取整的实现
C#無四捨五入,办法如下:1.正数可以利用加0.5補數,然後向下取整實現 。2.负数可以先转正,然后加0.4补数,再向下取整,再取反数。概況:补齐不足,舍其多余 var number="-22.54"; var getNumber=RoundingNumber(number); //四捨五入 正負數不一樣 //概...原创 2019-07-05 11:46:57 · 2393 阅读 · 0 评论 -
c#操作WPS_Excel 添加外部引用文件
开发环境:Windows7 64位+Word2007 +WPS Office 专业增强版+Visual Studio 2013软件安装:安装Microsoft Office 2007 后再安装WPS2016 。直接添加安装目录下的DLL引用添加下面的引用后可以使用using WPS;(删除WORD后文件不会丢失)C:\Windows\assembly\GAC_32\Kingsoft...原创 2018-09-21 10:21:15 · 3747 阅读 · 0 评论 -
c# 保留数字小数点后N位
string test = "100.2253";test=float.Parse(test).ToString("0.000000");Console.WriteLine(test);现在的是保留小数点后5位,不够的会补零,需要保留0的数据建议最好用字符串!!!...原创 2018-09-13 12:09:14 · 1289 阅读 · 0 评论 -
C# String 前面不足位数补零的方法
int i=10;方法1:Console.WriteLine(i.ToString("D5"));方法2:Console.WriteLine(i.ToString().PadLeft(5,'0'));//推荐方法3:Console.WriteLine(i.ToString("00000")); 在 C# 中可以对字符串使用 PadLeft 和 PadRight 进行轻松地补位。Pad...原创 2018-09-13 11:45:49 · 1102 阅读 · 0 评论 -
for循环优化
今天就来说一下Java代码优化的事情,今天主要聊一下对于for(while等同理)循环的优化。 作为三大结构之一的循环,在我们编写代码的时候会经常用到。循环结构让我们操作数组、集合和其他一些有规律的事物变得更加的方便,但是如果我们在实际开发当中运用不合理,可能会给程序的性能带来很大的影响。所以我们还是需要掌握一些技巧来优化我们的代码的。 嵌套循环stratTime = Sys...原创 2018-08-17 11:32:35 · 493 阅读 · 0 评论 -
使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错。字符串的长度超过了为 maxJsonLength 属性设置的值。
最近公司布置了报表的开发,这个模块涉及到了几万条数据的导入,然后后台处理,再返回到前台并显示出来,不过当我导入4W条数据的数据,VS已经支持不过来,几乎卡住,电脑也接近奔溃,不过处理2W条的数据还是没问题的。具体如何解决?c#后台方法,返回值为 string public string AddSAPDataToList(List<List<string>>...原创 2018-07-25 16:22:34 · 6779 阅读 · 3 评论 -
使用 ASP.NET SignalR实现实时通讯
ASP.NET SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程。实时 Web 功能是指这样一种功能:当所连接的客户端变得可用时服务器代码可以立即向其推送内容,而不是让服务器等待客户端请求新的数据。 官网:http://signalr.net/ 下载:install-package Microsoft.AspNet.Signa...原创 2018-04-27 16:40:27 · 5239 阅读 · 1 评论 -
C# ASP.NET MVC模式 WPS的导入与导出的实现
前提准备:1.想要成功进行WPS的导入与导出,你得先下载WPS,然后找到etapi.dll文件(路径:\Kingsoft\WPS Office\10.1.0.7520\office6),WPS安装路径看你们具体的安装路径。2.然后在自己的ASP.NET MVC项目下的引用项右键,添加引用,把etapi.dll添加进去。、点击浏览进行添加、添加完就可以开始写代码了。...原创 2018-09-27 15:22:49 · 1715 阅读 · 1 评论 -
Visual Studio 前台与后台方法快速折叠与展开的快捷键
折叠:Ctrl+M+O展开:Ctrl+M+L 或 Ctrl+A(全选)——> Ctrl+K+F(自动对齐)原创 2018-10-16 15:26:43 · 1007 阅读 · 0 评论 -
调用SQL连接池 重复打开connection.Open()链接超时异常的处理
最近遇到一个很奇葩的问题,就是反复刷新页面通过SQL去查询数据的时候,按了10多遍了后系统会GG,直接卡住奔溃,一直在找问题,最后是SQL读取数据后资源无释放,连接无关闭的原因。DBHelper.cs代码:using System;using System.Collections.Generic;using System.Data;using System.Data.SqlClie...原创 2018-10-31 15:39:57 · 1760 阅读 · 0 评论 -
C# 如何获取项目的根目录
c# 如何获取项目的根目录编写程序的时候,经常需要用的项目根目录。自己总结如下 1、取得控制台应用程序的根目录方法 方法1、Environment.CurrentDirectory 取得或设置当前工作目录的完整限定路径 方法2、AppDomain.CurrentDomain.BaseDirectory 获取基目录,它由程序集冲突解决程序用来探测程序集 2、取得W...原创 2019-07-02 09:01:19 · 6332 阅读 · 0 评论