如何去写一个.Net程序

刚用.net写了一个自动投票程序 前天接到我哥的电话,说让我帮忙写个投票的程序要为他的一个朋友在网上投票,这种作弊行为我向来是不耻的,但是为了我哥的面子就硬着头皮开始干了。本来以为分分钟可以搞定的小程序,但是因为服务器是.net做的,挺麻烦,感冒好几天了,前天达到了高潮,头疼乏力,于是暂时搁置,洗洗睡了。昨天晚上开弄的,开始想用javascrippt来做,但是因为框架跨域不能访问,再加上javascript实在难于调试,于是改用. 阅读详情

很多人看到我这个标题一定很诧异,肯定会说,只要用.Net工具来进行开发,那么所编写的程序不就是.Net程序吗?其实在这里,我所说的意思是,大多数人能用.Net进行开发程序,但编写出来的代码要么没有体现出.Net语言特性,要么没有用.Net充分提高程序性能。所以这些程序充其量只能叫做用.Net开发出来的程序,而不能叫做.Net程序。

 

就我本人而言,原来写的代码也和上面所说得一样,远没有达到.Net程序所要求的标准,也是十分汗颜。我早些年是用C或者C++来编写程序,因此几年前在转向C#的时候,我并没有花费太多工夫,可以说光凭着自身代码功底、Internet以及MSDN这三个东东,甚至没有系统地看完一本.Net书,我居然能完成了好几个项目。以上并不是说我的编码水平有多高,只是说明一点,.Net工具以及C#这门语言的确是非常容易上手。但是最近我系统的看了两本.Net相关的书,其中《Effective C#》这本书对我产生很大感触,发现以前写的代码有很多问题,就和前面所说的一样,只是用.Net开发程序罢了,并不是真正的.Net程序。

 

因此,我打算花一定时间,把这本书所提到好的方法,以及本人读这本书的一些心得,再结合大家经常遇到的问题,分批写成文章,然后会它们放到我的Blog中给大家分享,同时也希望这些方法能给大家一些启发,并能在今后的编码中能进行采用。

 

有兴趣的人可以去书店买一本来看,网上也有电子版的,不过现在书只有英文版。

 

书的简介:《Effective C#》

作者:Bill Wagner

出版社:机械工业出版社

使用VB.NET开发一个简单的串口程序 本程序严谨程度不高,仅适合新手做成功程序使用,严谨程序后续会有更新. 这两个程序结合起来是可以用的. 单片机程序代码(用于在收到数据后做出反应) //整合自STC官方文档 #include "reg52.h" #include "intrins.h" typedef unsigned char u8; typedef unsigned int u16; bit busy;//这个变量暂时没用 #define FOSC 12000000L //单片机的频率 #define BAUD 4800 阅读详情

相关推荐

使用dnSpy与De4dot实战.NET程序去混淆与逆向分析

在软件安全与逆向工程领域,代码混淆是一种常见的技术保护手段,它通过改变程序的结构和逻辑,使其难以被理解和分析,从而保护知识产权和核心算法。其基本原理包括名称混淆、控制流平坦化、字符串加密等,旨在增加人工阅读和自动反编译的难度。掌握去混淆技术对于安全研究、漏洞分析、第三方库集成调试以及深入学习编程实践都具有重要价值。在实际的工程应用场景中,例如分析第三方组件或排查集成问题时,专业的工具组合能高效地完成“卸妆”工作。本文聚焦于.NET生态,详细介绍了如何运用dnSpy这一强大的反编译调试器和De4dot这一自动

weixin_31648507的博客 526

.net代码编写规范

 下面是根据FxCop整理的.NET代码编写规范,仅供参考。一、 Design(设计)1. Abstract types should not have constructors 抽象类不应该声明构造方法2. Assemblies should have valid strong names 程序集应该具有强名称3. Avoid empty interfaces 避免使用空的接口4. Av

C#学习中 1173

.NET 除了用 Task 之外,如何自己写一个可以 await 的对象?

.NET 中的 async / await 写异步代码用起来真的很爽,就像写同步一样。我们可以在各种各样的异步代码中看到 Task 返回值,这样大家便可以使用 await 等待这个方法。不过,有时需要写一些特别的异步方法,这时需要自己来实现一个可以异步等待的对象。 本文将讲述如何实现一个可等待对象,一个自定义的 Awaiter。 本文内容Awaiter 系列文章可等待对象编写基本的 Awaite...

walterlv - 吕毅 1162

使用C#.NET编写一个最简单 的Windows 服务程序

使用Visual Studio C#.NET编写一个最简单 的Windows 服务程序

哈维敖尔的博客 718

Visual Studio去签名工具:简化.NET程序集签名移除

在.NET开发领域,程序集签名是确保代码完整性和身份验证的关键步骤。当需要对程序集进行深入分析、调试或者在特定场景中重新打包时,可能会需要移除这些签名。这就是.NET程序集签名移除工具的用武之地。这类工具能够帮助开发者去除程序集中的签名信息,为后续的操作提供便利。Visual Studio提供了一套丰富的一体化集成开发环境(IDE),内置工具提供了从编码、调试到性能分析和项目管理的一系列功能。例如::在编写代码时提供自动完成建议、参数信息、快速信息以及成员列表等。调试工具。

weixin_42579969的博客 943

CAN总线错误帧全解析:从数据包到硬件层的故障树分析

本文深入解析CAN总线错误帧的故障树分析方法,从数据包到硬件层全面剖析错误机制。通过物理层信号测试、数据链路层错误解码和应用层协议排查,提供系统化的诊断框架。结合CANoe配置和示波器波形分析,帮助工程师快速定位总线故障,提升系统可靠性。

weixin_26742753的博客 488

2022年5月24日:用C#生成.NET应用程序--.NET简介(有部分地方没看懂)

.NET 是一个免费的跨平台开源开发人员平台,用于生成许多不同类型的应用程序。 凭借 .NET,可以使用多种语言、编辑器和库来生成 Web、移动应用、桌面应用、游戏和 IoT 应用。 开始了解 .NET。 了解 .NET 的概念及其工作原理,然后在基于 Web 的 .NET 环境中快速生成一个小型应用。 简介 什么是.NET? .NET是用于应用程序开发的生态系统 术语“生态系统”描述了应用程序开发环境及其周围社区的多方面领域。 使用.NET语言和编译器在.NET运行时中运行

DXB2021的博客 1607

基于PLC的立体车库控制系统设计

本文介绍了基于西门子S7-1511-1PN PLC和KTP700 Basic PN HMI的立体堆垛式停车场自动化控制系统。系统通过PLC逻辑控制滑台运动,配合传感器实现车辆存取自动化,包含初始化、入库、出库和安全保护程序。程序采用模块化设计,分为安全互锁、动画显示、模式切换等六个功能模块,运用边沿触发、定时器和多级联锁确保安全。HMI界面提供模式切换、车位选择、状态显示和手动控制功能。该系统具有模块化、安全性和可扩展性特点,可应用于多车位立体停车场场景。

sxs3030787796的博客 1259

.Net代码编写规范总结

(1)注释规范 自己创建的代码问价在文件前写注释(可以使用自动生成注释)注释的形式一般包括 /************************************************* 作者: 小组: 说明: 创建日期: 版本号: **********************************************/ ...

weixin_40486955的博客 561

保姆级教程:在S32K312上配置C40驱动,实现Flash读写(基于RTD 4.4.2)

本文详细介绍了在S32K312微控制器上配置C40驱动实现Flash读写的全流程,基于RTD 4.4.2库。内容涵盖环境搭建、外设配置、Flash操作实战代码及高级应用场景,特别针对LLD驱动和FLS存储操作中的常见问题提供了解决方案,帮助开发者快速掌握嵌入式Flash存储技术。

weixin_28684757的博客 253

ESP-IDF 利用ESP32构建智能音乐播放器(一)---------- 实现SD卡MP3文件的解码与播放

本文详细介绍了如何利用ESP32和ESP-IDF开发框架,从零开始构建一个智能音乐播放器。文章重点讲解了如何通过SD卡模块读取MP3文件,并集成Helix MP3解码库进行软件解码,最终通过I2S接口驱动音频模块实现播放。内容涵盖硬件连接、软件环境搭建、核心解码与输出逻辑,为嵌入式音频开发提供了完整的实战指南。

weixin_29163797的博客 234

用VSCode编写一个.net程序

首先要求环境已经配置好了 环境配置详见VSCode环境配置——.NET 创建应用 创建一个名为“dotnetworkspace”的 .NET 控制台应用项目。 启动VS Code。 从主菜单中选择“文件” > “打开文件夹”。 在“打开文件夹”对话框中,创建“dotnetworkspace”文件夹,然后单击“选择文件夹”。 默认情况下,文件夹名称将是项目名称和命名空间名称。 稍后将在本教程中添加代码,假定项目命名空间为 dotnetworkspace 在主

二琳爱吃肉的博客 3355

【MATLAB代码】雷达观测目标跟踪模型|H-infinity Filter(H无穷大滤波)与EKF(扩展卡尔曼滤波)的对比。附完整代码,订阅专栏后可直接查看

对比了经典扩展卡尔曼滤波(EKF)与H∞优化的EKF(H∞-EKF)在目标跟踪中的性能。通过MATLAB仿真实验,结果显示:在存在模型误差和测量噪声的情况下,H∞-EKF相比经典EKF在位置误差上降低

985工科博士毕业,专攻定位、导航和滤波等算法研究。从业10年,主要使用MATLAB 243

【如何跑通基于AOD-NET的去雾算法】

如何跑通基于AOD-NET的去雾算法代码

weixin_44208728的博客 9487

WblockCloneObjects克隆一个图纸内的实体包括块参照,同名块参照的处理

public static void HeBingTu2(double lieJu, List<string> filePaths) { Document doc = Application.DocumentManager.MdiActiveDocument; Database db = doc.Database; using (DocumentLock docLock = doc.Lock...

1108

【WRF模拟】保存wrf输出文件到指定目录+仅输出指定空间域/变量文件

修改wrf命令以更改指定输出文件目录等

WW、forever的博客 543

如何高效使用NETReactorSlayer:开源.NET程序去混淆与解包终极指南

NETReactorSlayer是一款强大的开源(GPLv3许可证)去混淆器和解包器,专为Eziriz .NET Reactor设计。它能帮助开发者轻松去除.NET程序的混淆保护,让逆向工程和代码分析变得简单高效。无论你是新手还是有经验的开发者,本文都将带你快速掌握这款工具的使用方法,解决常见问题,提升工作效率。 ## 项目核心功能与优势 ### 专为Eziriz .NET Reactor打造...

gitblog_00158的博客 908

simulink建模仿真实例1000例--第375例:基于Simulink进行复杂交通流的仿真建模

特点多车互动:模拟多个车辆之间的相互作用。动态变化:交通流量随时间和事件(如事故、天气变化)而变化。多样化驾驶行为:考虑不同的驾驶员行为模式(激进型、保守型等)。挑战准确性:准确地模拟各种因素对交通流的影响。实时性:处理大量车辆数据,并迅速做出反应。可扩展性:支持从简单场景到复杂城市交通网络的扩展。首先明确要模拟的任务内容。模拟不同类型的车辆(轿车、卡车、公交车等)。考虑不同驾驶员的行为模式。分析交通拥堵、事故对交通流的影响。

xiaoheshang_123的博客 201

今天写了第一个ASP.NET程序

照葫芦画瓢,写了一个ASP.NET的程序,取名叫frist.aspx吧,权当我的第一个ASP.NET的程序吧。全部程序如下:   Sub myButton_Click(sender As Object, e As EventArgs)    myLabel.Text = "非常高兴,恭喜您" & myTextBox.Text & ",您的第一个ASP.NET的程序运行完全正常"  End Sub

sunnymba的专栏 923

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

.net调用java程序_在.net应用中调用java程序

本例主要是介绍利用C#程序调用已经写好的JAVA程序.很多时候我们不可避免的要用到别人写的东西.就拿我来说.很多应用是用.NET写的.也有很多程序是用JAVA写的.这就带来了很多麻烦,有时候要实现同样的功能,必须写两遍代码.那么我们有没有办法让C#直接调用java写好的东西呢?(java直接调用.net的程序也是可以的).这里需要提到的就是IKVM.NET开源程序.这个开源程序不想过多的介绍.说多...

weixin_42099755的博客 846

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

.NET,一个是否值得去学的技术

关键字:微软,.NET  随便打开任何一个与微软技术或.NET有关的论坛或能够发表言论的地方,比如文档中心,在线书店什么的,总能看到很多人发出抱怨“微软只不过为了垄断...”“微软的.NET不值得去学,将来说不定哪天又会推出.NET++,就像抛弃MFC一样抛弃.NET...”“C#狗屁都不是,全是抄JAVA的,别去学,上当,哪天微软一不高兴就像抛弃MFC一样抛弃.NET了...

guxinglei 的专栏 1622

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

脱壳工具NET-脱壳去混淆-de4dot-Reactor5.0使用说明:轻松去除.NET混淆代码

脱壳工具NET-脱壳去混淆-de4dot-Reactor5.0使用说明:轻松去除.NET混淆代码 【下载地址】脱壳工具NET-脱壳去混淆-de4dot-Reactor5.0使用说明 NET-脱壳去混淆-de4dot-Reactor5.0 是一款高效的.NET程序集脱壳工具,专为去除混淆代码而设计。支持单文件和批量处理,操...

gitblog_06700的博客 1304

.NET Core中的去虚

在.NET最初被设计出来时,方法在默认情况下必须是非虚方法。这有几个原因,其中一个是,非虚方法通常比虚方法快很多。除了虚函数表查询本身的成本之外,虚函数通常还无法内联。由于.NET的发展趋势是倾向于使用大量的小方法,所以非内联方法的函数调用开销最终会超过方法本身的开销。我们在文章“关于C#的抽象与For-Each性能”中介绍了这种内联的部分效果。\\在过去的几年中,我们习惯的C#一直在变化。以前,...

weixin_33720956的博客 82

VB.net的第一个程序

根据历代程序员的传承,每个程序员的第一个程序应该是显示一个"Hello,world",这个博客就是讲怎么写一个可以显示“hello world”的VB.net程序。 因此,我们先打开Visual Studio,点稽新建项目,选择Visual Basic里面的Windows,选择你喜欢的.NET版本,然后点击Windows 窗体应用程序(Winform),修改名字(注意不能有半角逗号,不然不能调试

CStevePaul的博客 1198

用asp.net写的论坛程序

这个程序的编程思想其实还是基本延续了asp的方式,如果让那只大鸟儿看见可能要嘘之以鼻。但实际上这种方式对于asp程序向asp.net的快速移植还是有用的。如果你对这种移植不屑那也没办法,这个贴子就算给asp.net刚入门的小虾们开开眼。这个例子包含3部分1)forum.aspx-论坛主页。2)reply.aspx-当在论坛主页中点击一个贴子时调用,显示贴子详细内容。3)postmessage.as

qkyong的专栏 2107
上一篇: 如何弹出一个模式窗口来显示进度条
下一篇: 《Effective C#》Item 1:用属性来访问类的私有成员
Knight94
博客等级 码龄25年 1013粉丝 87原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值