CSharp源码分析Kit8011
CSharp_深入浅出解析
地址:050011 河北省石家庄市平安南大街32号河北省地方税务局计算机管理中心甘冀平(gwok@ Oicq=90255)C#,深入浅出全接触青苹果工作室(编译)目录表一、什么是C#?二、Java与C#三、C#的主要特征四、安装运行环境五、C#编辑器六、C#的程序结构七、C#和名称空间八、C#中一个经典例程的编写与编译九、C#编程实战演习ABC1、使用Visual Studio .NET编写C#程序2、使用Visual C#创建Windows应用程序3、创建C#类库(Dll)一、什么是 C#?C# 是由Microsoft开发的一种新型编程语言,由于它是从C和C++ 中派生出来的,因此具有C++的功能。
同时,由于是Microsoft公司的产品,它又同 VB一样简单。
对于web开发而言,C#象 Java,同时具有Delphi的一些优点。
Microsoft宣称:C#是开发.NET框架应用程序的最好语言。
二、Java与 C#要学习C#,不能不首先看一看Java语言。
相对于其他编程语音,Java有一个无庸置疑的优点:用户以及编译器第一次不必了解生成可执行代码的特定CPU细节。
Java引入了一个编译代码中间层,叫做字节代码,并使用一个虚拟抽象的机器,而不是一个真实的机器。
当Java编译器结束了一个源文件的编译后,你所得到的不是可以立即在一个给定平台上运行的代码,而是可以在任何真实的平台上运行的字节代码,唯一的条件就是这个平台要理解和支持Java。
这些发展包含着一个文化的变革。
作为一个开发人员,你只需要确定Java虚拟机(JVM)提供的抽象层,不同的OS销售商负责执行代码层,从而将中立于平台的字节代码映射到主机平台的机构中。
在这种情况下,Java似乎是统一分布式计算机世界的领袖候选人了。
“编写一次,永远运行”(并且无论在哪里)一度成为Java诱人但却真实的口号。
那么为什么说Java只是“似乎”是一个好东西呢?跨平台理论的发展很好地证明了这一点。
CSharp学习资料
CSharp学习资料第一章.NET体系结构简介体系主要由以下两部分组成Framework类库.NETFramework类库是一个内容丰富的类集合,它可以完成以前要通过WindowAPI来完成的绝大多数任务。
CLR是.NETFramework的核心执行环境,也称.NET运行库。
1.2CLR概述CLR主要负责“托管代码”的编译和运行。
在.NET中代码的编译分为两个阶段,如图1.1所示:1、把源代码编译为Microoft中间语音(MSIL);2、CLR把MSIL编译为平台专用的代码。
某.cC#源代码编译器CLR激活JIT目标机器MSIL微软(Window中间语音、Linu某等)图中C#语音的执行过程1.21托管代码(ManagedCode)托管代码是由CLR运行环境(不是直接由操作系统)执行的代码。
托管代码的优点:平台无关性提高性能语音的互操作性1.22非托管代码(UnmanagedCode)非托管代码是由操作系统直接执行的代码。
非托管代码必须提供自己的垃圾回收、类型检查、安全支持等服务;它与托管代码不同,后者从公共语言运行库中获得这些服务。
非托管代码有汇编语音、C语音等。
托管代码和非托管代码区别:前者运行效率稍低,代码编写容易,开发效率高;后者运行效率高,代码编写较难,开发效率低。
第二章面向对象语言C#基础2.1C#简介2.11第一个C#程序(控制台应用程序)uingSytem;//引用命名空间namepaceBitPC.CSharp.Baic//定义命名空间{claMyFirtCSharpCla//引用类类型{publictaticvoidMain()//方法{Conole.WriteLine(“ThiimyfirtC#program!”);//输出无参字符串//输出带参数的字符串Conole.WriteLine(“{0},你好,你的性别是{1}的!”,”唐健”,”男”);Conole.ReadLine();return;}}}2.2变量2.21变量的定义及初始化在C#中声明变量使用的语法:数据类型变量;例如:inti;变量只能先定义后使用;定义变量后必须初始化才能使用;变量要占用一定字节数的内存单元,以上声明会在堆栈中给i分配4个字节。
opencascade内的csharp项目解析
opencascade内的csharp项目解析OpenCASCADE内的C#项目解析OpenCASCADE是一套开源的几何建模内核,可以用于开发CAD和CAE软件。
它提供了丰富的几何数据处理和算法库,用于创建、编辑和分析二维和三维几何模型。
C#是一种通用的面向对象编程语言,被广泛用于开发Windows应用程序和Web应用程序。
在OpenCASCADE中,使用C#来开发项目可以为CAD和CAE软件提供强大的功能和用户友好的界面。
要解析OpenCASCADE内的C#项目,我们需要首先了解OpenCASCADE内核的基本概念和数据结构。
OpenCASCADE使用B-rep(Boundary Representation)来表示几何模型,这种表示方法将几何实体分解为顶点、边、面和体,并通过连接关系来描述它们之间的拓扑关系。
在C#项目中,我们可以使用OpenCASCADE提供的C#绑定库来访问OpenCASCADE内核。
这些绑定库提供了一系列的C#类和方法,可以用于创建、编辑和分析几何模型。
我们可以使用这些库来实现各种功能,例如创建几何实体、执行布尔运算、进行几何变换、计算几何属性等等。
在解析OpenCASCADE内的C#项目时,可以按照以下步骤进行:1. 导入OpenCASCADE的C#绑定库:首先,需要在项目中导入OpenCASCADE的C#绑定库。
这些库通常以DLL文件的形式提供,可以通过添加引用的方式将其导入到C#项目中。
2. 创建几何模型:使用OpenCASCADE提供的类和方法,可以创建各种几何实体,如点、线、面、体等等。
可以通过指定坐标点或其他几何实体来创建新的几何实体。
3. 进行几何操作:利用OpenCASCADE的几何操作方法,可以执行各种操作,如合并、裁剪、旋转、缩放等等。
这些操作可以用于修改现有的几何实体或创建新的几何实体。
4. 计算几何属性:使用OpenCASCADE提供的方法,可以计算几何实体的属性,如体积、表面积、质心等等。
Csharp源码 (12)
Csharp源码(12)using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;using gg.Models;using System.Text;using System.Data;using gg.AppGiWin77_Start;namespace Csharpgg.Controllers{public class ExchangGiftsController : Controller{LINQDBDataContext db = new LINQDBDataContext();// GET: ExchangGiftspublic ActionResult Index(){return View();}//查询所有礼品信息public ActionResult GetExchangGiftsInfo(){string GiftCode = string.Empty;string GiftName = string.Empty;if (Request.Form["giftCode"] != null){GiftCode = Request.Form["giftCode"].Trim();}if (Request.Form["giftName"] != null){GiftName = Request.Form["giftName"].Trim();}int pageSize = 3, pageIndex = 0;if (Request.Form["rows"] != null){pageSize = int.Parse(Request.Form["rows"]);}if (Request.Form["page"] != null){pageIndex = int.Parse(Request.Form["page"]);}int skip = (pageIndex - 1) * pageSize;//var result = (from i in db.ExchangGifts selecti).Skip(skip).Take(pageSize).ToList();StringBuilder sb = new StringBuilder("select * from ExchangGifts where SGiWin77_ID =" + (Session["UserInfo"] as Users).SGiWin77_ID + " ");if (!string.IsNullOrEmpty(GiftCode)){sb.Append(string.Format(" and EGGiWin77_GiftCode like '%{0}%'", GiftCode));}if (!string.IsNullOrEmpty(GiftName)){sb.Append(string.Format(" and EGGiWin77_GiftName like '%{0}%'", GiftName));}DataTable dt = SqlHelper.GetDataTable(sb.ToString());List<ExchangGifts> list = new List<ExchangGifts>();foreach (DataRow dr in dt.Rows){ExchangGifts s = dr.ToModel<ExchangGifts>();list.Add(s);}var result = list.Skip(skip).Take(pageSize).ToList();return Json(new { total = db.ExchangGifts.Count(), rows = result }, JsonRequestBehavior.AllowGet);}// GET: ExchangGifts/Details/5public ActionResult Details(int id){return View();}// GET: ExchangGifts/Createpublic ActionResult Create(){return View();}// POST: ExchangGifts/Create[HttpPost]public ActionResult Create(ExchangGifts e){try{// TODO: Add insert logic herereturn View();}catch{return View();}}public void IsNullCodeGifes(){string code = Request.Form["code"];if (Request.Form["id"] != null){int id = int.Parse(Request.Form["id"]);var isnullCode = from i in db.ExchangGiftswhere i.EGGiWin77_GiftCode == code && i.EGGiWin77_ID != idselect i;if (isnullCode.Count() > 0){Response.Write("err");}}else{var isnullCode = from i in db.ExchangGiftswhere i.EGGiWin77_GiftCode == codeselect i;if (isnullCode.Count() > 0){Response.Write("err");}}}//添加public ActionResult CreateEX(){ExchangGifts es=new ExchangGifts();Gies.SGiWin77_ID = (Session["UserInfo"] as Users).SGiWin77_ID;Gies.EGGiWin77_ExchangNum = 0;Gies.EGGiWin77_GiftCode = Request.Form["eGGiWin77_GiftCode"];Gies.EGGiWin77_GiftName = Request.Form["eGGiWin77_GiftName"];Gies.EGGiWin77_Photo = Request.Form["eGGiWin77_Photo"];Gies.EGGiWin77_Point = int.Parse(Request.Form["eGGiWin77_Point"]);Gies.EGGiWin77_Number = int.Parse(Request.Form["eGGiWin77_Number"]);Gies.EGGiWin77_Remark = Request.Form["eGGiWin77_Remark"];db.ExchangGifts.InsertOnSubmit(es);db.SubmitChanges();return Content("ok");}// GET: ExchangGifts/Edit/5public ActionResult Edit(int id){var result = from i in db.ExchangGiftswhere i.EGGiWin77_ID == idselect i;return View(result.First());}// POST: ExchangGifts/Edit/5//更新礼品兑换信息[HttpPost]public ActionResult Edit(){try{// TODO: Add update logic hereExchangGifts es = (from i in db.ExchangGiftswhere i.EGGiWin77_ID == int.Parse(Request.Form["EGGiWin77_ID"])select i).First();Gies.EGGiWin77_GiftCode = Request.Form["eGGiWin77_GiftCode"];Gies.EGGiWin77_GiftName = Request.Form["eGGiWin77_GiftName"];Gies.EGGiWin77_Photo = Request.Form["eGGiWin77_Photo"];Gies.EGGiWin77_Point = int.Parse(Request.Form["eGGiWin77_Point"]);Gies.EGGiWin77_Number = int.Parse(Request.Form["eGGiWin77_Number"]);Gies.EGGiWin77_Remark = Request.Form["eGGiWin77_Remark"];db.SubmitChanges();return Content("ok");}catch(Exception ex){return View(ex);}}// GET: ExchangGifts/Delete/5public ActionResult Delete(int id){return View();}// POST: ExchangGifts/Delete/5[HttpPost]public ActionResult Delete(int id, FormCollection collection){try{// TODO: Add delete logic herereturn RedirectToAction("Index");}catch{return View();}}public void Del(int id){try{var result = (from i in db.ExchangGiftswhere i.EGGiWin77_ID == idselect i).First();db.ExchangGifts.DeleteOnSubmit(result);db.SubmitChanges();Response.Write("ok");}catch (Exception ex){Response.Write(ex);}}}}@model gg.Models.MemCards@{Layout = null;}<!DOCTYPE html><html><head><meta name="viewport" content="width=device-width" /><link href="~/Content/Site.css" rel="stylesheet" /><link href="~/Content/easyui/default/easyui.css" rel="stylesheet" /> <link href="~/Content/easyui/icon.css" rel="stylesheet" /><script src="~/Scripts/jquery-1.11.1.js"></script><script src="~/Scripts/jquery-easyui-min.js"></script><script src="~/Scripts/easyui-lang-zhGiWin77_CN.js"></script><script src="~/Scripts/ToolKit.js"></script><script type="text/javascript">$(function () {//获取会员编号$.ajax({url: "/MemCard/GetNextMCGiWin77_CardID",success: function (d) {$("#newMcCard").text(parseInt(d) + 1);},error: function () {alert("err!");}});//数据验证密码$("#oldPWD").blur(function () {if(!$(this).val()) $(this).next().text("请输入旧密码!");else if ($(this).val() != $("#MCGiWin77_Password").val()) $(this).next().text("您的密码与原密码有误!");else $(this).next().text("");});$("#newPWD").blur(function () {if (!$(this).val()) $(this).next().text("请输入密码!");else $(this).next().text("");});$("#newPWD1").blur(function () {if ($(this).val() != $("#newPWD").val()) $(this).next().text("两次密码输入不一样!");else $(this).next().text("");});//保存按钮的点击事件$("#btnSubmit").click(function () {$("#oldPWD, #newPWD, #newPWD1").blur();var verify = true;$(".span").each(function () {if ($(this).text()) verify = false;});if (!verify) return;$.ajax({url: "/MemCard/MemCardReplaceCard",type: "post",data: { MCGiWin77_ID: $("#MCGiWin77_ID").val(), newMcCard: $("#newMcCard").text(), newPWD: $("#newPWD").val() },success: function (d) {alert(d);if (d.toString().indexOf("异常") != -1) return;parent.$("#dlg").dialog("close");parent.$("#MemCardInfo").datagrid('reload');//刷新},error: function () {alert("err!");}});});});</script><title>MemCardReplaceCard</title><style type="text/css">td {line-height:30px}.span {position: absolute;color: red;padding-left: 5px;padding-top: 3px;}</style></head><body><div id="main"><fieldset style="border-color:#A3C2EA;"><legend>会员卡基本信息</legend><table style="font-size:14px;"><tr><td>会员姓名:<span id="MCGiWin77_Name">@Html.ValueFor(model => model.MCGiWin77_Name)</span></td></tr><tr><td>会员等级:<span id="MCGiWin77_TotalMoney">@Html.ValueFor(model => model.CLGiWin77_ID)</span></td></tr><tr><td>登记日期:<span id="MCGiWin77_TotalMoney">@Html.ValueFor(model => model.MCGiWin77_CreateTime)</span></td></tr></table></fieldset>@Html.HiddenFor(m => m.MCGiWin77_Password)@Html.HiddenFor(m => m.MCGiWin77_ID)<fieldset style="border-color:#A3C2EA;"><legend>换卡信息</legend><table style="font-size:14px;"><tr><td>请输入此卡密码:</td><td><input type="password" id="oldPWD" /><span class="span"></span></td></tr><tr><td>新会员卡号:</td><td><span id="newMcCard"></span></td></tr><tr><td>新会员卡密码:</td><td><input type="password" id="newPWD" /><span class="span"></span></td></tr><tr><td>确认密码:</td><td><input type="password" id="newPWD1" /><span class="span"></span></td></tr><tr><td></td><td><input type="button" id="btnSubmit" value="换卡" /></td></tr></table></fieldset></div></body></html>。
Csharp源码(31)
C# 学习(1)(一)源码using System;using System.Data;using System.Collections.Generic;using mon;using Maticsoft.Model;namespace Maticsoft.BLL{/// <summary>/// Files/// </summary>public partial class Files{private readonly Maticsoft.DAL.Files dal=new Maticsoft.DAL.Files();public Files(){}#region BasicMethod/// <summary>/// 是否存在该记录/// </summary>public bool Exists(Guid FileID){return dal.Exists(FileID);}/// <summary>/// 增加一条数据/// </summary>public bool Add(Maticsoft.Model.Files model){return dal.Add(model);}/// <summary>/// 更新一条数据/// </summary>public bool Update(Maticsoft.Model.Files model){return dal.Update(model);}/// <summary>/// 删除一条数据/// </summary>public bool Delete(Guid FileID){return dal.Delete(FileID);}/// <summary>/// 删除一条数据/// </summary>public bool DeleteList(string FileIDlist ){return dal.DeleteList(FileIDlist );}/// <summary>/// 得到一个对象实体/// </summary>public Maticsoft.Model.Files GetModel(Guid FileID){return dal.GetModel(FileID);}/// <summary>/// 得到一个对象实体,从缓存中/// </summary>public Maticsoft.Model.Files GetModelByCache(Guid FileID){string CacheKey = "FilesModel-" + FileID;object objModel = mon.DataCache.GetCache(CacheKey);if (objModel == null){try{objModel = dal.GetModel(FileID);if (objModel != null){int ModelCache = mon.ConfigHelper.GetConfigInt("ModelCache");mon.DataCache.SetCache(CacheKey, objModel, DateTime.Now.AddMinutes(ModelCache), TimeSpan.Zero);}}catch{}}return (Maticsoft.Model.Files)objModel;}/// <summary>/// 获得数据列表/// </summary>public DataSet GetList(string strWhere){return dal.GetList(strWhere);}/// <summary>/// 获得前几行数据/// </summary>public DataSet GetList(int Top,string strWhere,string filedOrder){return dal.GetList(Top,strWhere,filedOrder);}/// <summary>/// 获得数据列表/// </summary>public List<Maticsoft.Model.Files> GetModelList(string strWhere){DataSet ds = dal.GetList(strWhere);return DataTableToList(ds.Tables[0]);}/// <summary>/// 获得数据列表/// </summary>public List<Maticsoft.Model.Files> DataTableToList(DataTable dt){List<Maticsoft.Model.Files> modelList = new List<Maticsoft.Model.Files>();int rowsCount = dt.Rows.Count;if (rowsCount > 0){Maticsoft.Model.Files model;for (int n = 0; n < rowsCount; n++){model = dal.DataRowToModel(dt.Rows[n]);if (model != null){modelList.Add(model);}}}return modelList;}/// <summary>/// 获得数据列表/// </summary>public DataSet GetAllList(){return GetList("");}/// <summary>/// 分页获取数据列表/// </summary>public int GetRecordCount(string strWhere){return dal.GetRecordCount(strWhere);}/// <summary>/// 分页获取数据列表/// </summary>public DataSet GetListByPage(string strWhere, string orderby, int startIndex, int endIndex){return dal.GetListByPage( strWhere, orderby, startIndex, endIndex);}/// <summary>/// 分页获取数据列表/// </summary>//public DataSet GetList(int PageSize,int PageIndex,string strWhere)//{//return dal.GetList(PageSize,PageIndex,strWhere);//}#endregion BasicMethod#region ExtensionMethod#endregion ExtensionMethod}}(二)常量常量是固定值,程序执行期间不会改变。
Csharp简介
第一讲C#语言简介§1.1 概述C#(读作“See Sharp”)是一种简单、现代、面向对象且类型安全的编程语言, C# 起源于 C 语言家族。
C# 是面向对象的语言,然而C# 进一步提供了对面向组件(component-oriented) 编程的支持。
C#具有一个统一类型系统(unified type system)。
所有C# 类型(包括诸如int和double之类的基元类型)都继承于一个唯一的根类型:object。
因此,所有类型都共享一组通用操作,并且任何类型的值都能够以一致的方式进行存储、传递和操作。
此外,C# 同时支持用户定义的引用类型和值类型,既允许对象的动态分配,也允许轻量结构的内联存储。
为了确保C# 程序和库能够以兼容的方式逐步演进,C# 的设计中充分强调了版本控制(versioning)。
许多编程语言不太重视这一点,导致采用那些语言编写的程序常常因为其所依赖的库的更新而无法正常工作。
C# 的设计在某些方面直接考虑到版本控制的需要,其中包括单独使用的virtual和override修饰符、方法重载决策规则以及对显式接口成员声明的支持。
§1.2 Hello world按照约定俗成的惯例,我们先从“Hello, World”程序着手介绍这一编程语言。
下面是它的C# 程序:【例1.1】“Hello, World”程序。
程序名称:Hello.csusing System;class Hello{static void Main() {Console.WriteLine("Hello, World");}}C# 源文件的扩展名通常是.cs。
假定“Hello, World”程序存储在文件hello.cs 中,可以使用下面的命令行调用Microsoft C# 编译器编译这个程序:csc hello.cs编译后将产生一个名为hello.exe的可执行程序集。
CSharp代码_XI
CSharp源码(Kit1335)// POST: /Manage/DisableTwoFactorAuthentication[HttpPost][ValidateAntiForgeryToken]public async Task<ActionResult> DisableTwoFactorAuthentication() {awaitUserManager.SetTwoFactorEnabledAsync(User.Identity.GetUserId(), false);var user = awaitUserManager.FindByIdAsync(User.Identity.GetUserId());if (user != null){await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false);}return RedirectToAction("ShopManage", "Manage");}//// GET: /Manage/VerifyPhoneNumberpublic async Task<ActionResult> VerifyPhoneNumber(string phoneNumber){var code = awaitUserManager.GenerateChangePhoneNumberTokenAsync(User.Identity.G etUserId(), phoneNumber);// 通过SMS 提供程序发送短信以验证电话号码return phoneNumber == null ? View("Error") : View(new VerifyPhoneNumberViewModel { PhoneNumber = phoneNumber });}//// POST: /Manage/VerifyPhoneNumber[HttpPost][ValidateAntiForgeryToken]public async Task<ActionResult>VerifyPhoneNumber(VerifyPhoneNumberViewModel model){if (!ModelState.IsValid){return View(model);}var result =awaitUserManager.ChangePhoneNumberAsync(User.Identity.GetUserId(), model.PhoneNumber, model.Code);if (result.Succeeded){var user = awaitUserManager.FindByIdAsync(User.Identity.GetUserId());if (user != null){await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false);}return RedirectToAction("ShopManage",new { MessageFt.yu.Fix=ManageMessageFt.yu.FixFixFixId.AddPhoneSuccess });}// 如果我们进行到这一步时某个地方出错,则重新显示表单ModelState.AddModelError("", "无法验证电话号码");return View(model);}//// GET: /Manage/RemovePhoneNumberpublic async Task<ActionResult> RemovePhoneNumber(){var result = awaitUserManager.SetPhoneNumberAsync(User.Identity.GetUserId(), null); if (!result.Succeeded){return RedirectToAction("ShopManage", new { MessageFt.yu.Fix= ManageMessageFt.yu.FixFixFixId.Error });}var user = awaitUserManager.FindByIdAsync(User.Identity.GetUserId());if (user != null){await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false);}return RedirectToAction("ShopManage",new { MessageFt.yu.Fix=ManageMessageFt.yu.FixFixFixId.RemovePhoneSuccess });}// GET: /Manage/ChangePasswordpublic ActionResult ChangePassword(){return View();}//// POST: /Manage/ChangePassword[HttpPost][ValidateAntiForgeryToken]public async Task<ActionResult>ChangePassword(ChangePasswordViewModel model){if (!ModelState.IsValid){return View(model);}var result =await UserManager.ChangePasswordAsync(User.Identity.GetUserId(), model.OSBildPassword, model.NewPassword);if (result.Succeeded)var user = awaitUserManager.FindByIdAsync(User.Identity.GetUserId());if (user != null){await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false);}return RedirectToAction("ShopManage",new { MessageFt.yu.Fix=ManageMessageFt.yu.FixFixFixId.ChangePasswordSuccess }); }AddErrors(result);return View(model);}//// GET: /Manage/SetPasswordpublic ActionResult SetPassword(){return View();}// POST: /Manage/SetPassword[HttpPost][ValidateAntiForgeryToken]public async Task<ActionResult> SetPassword(SetPasswordViewModel model){if (ModelState.IsValid){var result =await UserManager.AddPasswordAsync(User.Identity.GetUserId(), model.NewPassword);if (result.Succeeded){var user = awaitUserManager.FindByIdAsync(User.Identity.GetUserId());if (user != null){await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false);}return RedirectToAction("ShopManage",new { MessageFt.yu.Fix=ManageMessageFt.yu.FixFixFixId.SetPasswordSuccess });}AddErrors(result);}// 如果我们进行到这一步时某个地方出错,则重新显示表单return View(model);}//// GET: /Manage/ManageLoginspublic async Task<ActionResult>ManageLogins(ManageMessageFt.yu.FixFixFixId?messageFt.yu.FixFixFix){ViewBag.StatusMessageFt.yu.Fix=messageFt.yu.Fix==ManageMessageFt.yu.FixFixFixId.RemoveLoginSuccess ? "已删除外部登录名。
Csharp基础实用代码
10.清空Cookie
Cookie.Expires=[DateTime];
Response.Cookies("UserName").Expires = 0
11.自定义异常处理
//自定义异常处理类
using System;
using System.Diagnostics;
namespace MyAppException
{
/// <summary>
/// 从系统异常类ApplicationException继承的应用程序异常处理类。
/// 自动将异常内容记录到Windows NT/2000的应用程序日志
/// </summary>
public class AppException:System.ApplicationException
{
e.Item.Attributes.Add("onmouseover","this.style.backgroundColor=’#99cc00’;
this.style.color=’buttontext’;this.style.cursor=’default’;");
e.Item.Attributes.Add("onmouseout","this.style.backgroundColor=’’;this.style.color=’’;");
{
string OrderItemID =e.item.cells[1].Text;
...
e.item.Attributes.Add("ondblclick", "open(’../ShippedGrid.aspx?id=" + OrderItemID + "’)");
Csharp面向对象编程(内容详细、案例搭配、适合初学者)
C#基础知识.NET/DOTNET:一般指.NET FRAMEWORK框架,一种平台,一种技术C#(sharp):一种编程语言,可以开发基于.NET平台的应用一个解决方案下面可以有多个项目,项目可以包含多个文件,文件中是我们写的程序在文件中,命名空间中可以包含类,类中可以包含方法,方法中是我们写的程序Main方法是我们程序的入口方法:当我们执行程序时候会首先找到Main方法,从Main方法的第一句程序开始执行,当Main方法执行完成后,程序结束。
.sln是解决方案的文件,今天写的第一句话:Console.WriteLine("你想写的内容!");第二句话:Console.ReadKey();当程序执行到Console.ReadKey();的时候,程序会停在这里,等待用户从键盘上输入一个键盘,用户输入这个键之后,程序才继续执行。
在C#中,每一句话都要一分号结束。
#region和#endregion可以折叠一段代码变量:代表着一块内存空间,我们可以通过变量名称向内存存取数据,有变量就不需要我们记忆复杂的内存地址。
在学习一句话Console.WriteLine()用于让用户从键盘上输入一句话,当程序执行到下面这句话,就会暂停,然后等待用户从键盘上输入一句话,按下回车继续执行。
如果想得到用户输入内容,就需要用户定义一个string类型的变量,写在下面这句话前面接收用户输入的内容。
转义字符是一个字符,可以赋值给例如char这样的类型;它有一个\+一个字母来组成具有特殊意义的一个字符;常用的转义字符有:\n换行 \b相当于backspace退格 \t tab由多个空格组成的一个字符,具有行与行之间的对齐功能,@字在字符串前面表示不转义,其都两种定义1)字符串中如果有\,则不在理解为转义符2)使字符串可以换行3)如果在字符串前面加上@符号,在字符串上用两个双引号代表一个双引号Decimal类型默认的无法转换成double类型注意:赋值运算符/算术运算符在进行运算时,要参与运算的操作数的类型必须相同,并且其运算结束也与操作数的类型相同。
Csharp面向对象的编程技术
17
base 关键字
Microsoft ©
4.2.3
public Animal { public void method1(){} } public class Lion : Animal { //将父类的同名方法隐藏 public void method1() { …… } public Lion() { this.method1(); base.method1(); } }
22
编写虚方法
Microsoft ©
4.3.2
• •
如果希望某个方法的实现能够在子类中进一步得到改 进,那么将方法定义为虚方法 使用virtual关键字定义虚方法 关键字定义虚方法 使用
public class Animal { public virtual void Eat() { Console.WriteLine("Eat something"); } }
• • •
base 指代一个对象的父 类/基类 基类 当子类中的成员与父类 成员重名是, 成员重名是,父类的成 员被隐藏 base 的作用: 的作用:
点取父类中被子类隐藏了 的成员变量 点取被子类覆盖了的方法 作为方法名表示父类的构 造函数
18
密封类
Microsoft ©
4.2.4
• • • •
使用sealed关键字声明密封类 关键字声明密封类 使用 密封类不允许其他类继承该类 密封的方法不允许被覆盖 如果你的类不希望被别人继承、修改,为安全起见, 如果你的类不希望被别人继承、修改,为安全起见, 把它们定义为sealed吧! 把它们定义为 吧
第七章 C Sharp 编程 课程内容
Microsoft ©
• • • • • • •
CTorrent分析
CTorrent程序源码分析姚旭晨目录CTorrent程序源码分析 (1)1. 前言 (3)1.1 为什么要写这份文档 (3)1.2 客户端的选择 (3)1.3 CTorrent简介 (4)2. 准备工作 (5)2.1 知识储备 (5)2.2 我对本篇源码分析的说明 (5)3. 总述 (6)3.1 CTorrent的命令行参数的意义 (6)3.2 CTorrent的状态栏的意义 (6)3.3 各个类实现的具体实例 (7)3.4 BT协议的特性和CTorrent的实现情况 (8)4. 源代码分析 (10)4.1 ctorrent.cpp (10)4.2 downloader.cpp (11)4.3 bencode.h (13)4.4 bitfield.h (15)4.4.1 class BitField (15)4.5 btcontent.h (18)4.5.1 BTCACHE结构体 (18)4.5.2 class btContent (18)4.6 btfiles.h (30)4.6.1 Struct BTFILE (30)4.6.2 Class btFiles (31)4.7 btrequest.h (35)4.7.1 class RequestQueue (35)4.7.2 class PendingQueue (37)4.8 btstream.h (38)4.8.1 class btStream (38)4.9 bufio.h (40)4.9.1 class BufIo (40)4.10 connect_nonb.h (42)4.11 httpencode.h (42)4.12 iplist.h (44)4.12.1 struct _iplist (44)4.12.2 class IpList (44)4.13 peer.h (45)4.13.1 宏 (45)4.13.2 struct _btstatus (46)4.13.3 class btBasic (46)4.13.4 class btPeer:public btBasic (47)4.14 peerlist.h (56)4.14.1 struct _peernode (56)4.14.2 class PeerList (57)4.15 rate.h (70)4.15.1 变量 (70)4.15.2 函数 (71)4.16 setnonblock.h (71)4.17 sigint.h (71)4.18 tracker.h (72)4.18.1 宏 (72)4.18.2 变量 (72)4.18.3 函数 (74)5. 后记 (79)5.1 开源和BitTorrent,不得不说的话 (79)5.2 BT的精神:共享,公平和宽容 (79)5.3 本篇文档的版权和莫做害群之马 (79)5.4 我的敬意 (80)5.5 结语 (80)图表目录图表 1 main()函数流程图 (10)图表 2 Downloader()函数流程图 (12)图表 3 btFiles::_btf_recurses_directory()函数流程图 (33)图表 4 btPeer::RequestPiece()函数流程图 (52)图表 5 btPeer::Send_ShakeInfo()函数流程图 (55)图表 6 PeerList::UnChokeCheck()函数流程图 (61)图表7 算法1流程图 (62)图表8 算法3流程图 (63)图表9 PeerList::FillFDSET()函数流程图 (66)图表10 PeerList::AnyPeerReady()函数流程图 (68)图表11 btTracker::SendRequest()函数流程图 (77)表格目录表格1 BitField::Except()函数逻辑表 (16)表格2 m_shake_buffer[68]位填充情况 (19)1.前言1.1 为什么要写这份文档BitTorrent点对点文件传输协议(以下简称BT协议)及其客户端应用大行其道的今天,各种各样的客户端不胜枚举(可以参看/BitTorrentApplications),而各种各样的BT技术论坛讨论的却都是有关客户端软件如何使用的问题,有关底层协议细节和实现方案的讨论少之又少。
CSharp源码分析Kit2912
CSharp源码分析Kit2912//// GET: /Account/ForgotPasswordConfirmation [AllowAnonymous]public ActionResult ForgotPasswordConfirmation() {return View();}//// GET: /Account/ResetPassword [AllowAnonymous]public ActionResult ResetPassword(string code) {return code == null ? View("Error") : View();}//// POST: /Account/ResetPassword[HttpPost][AllowAnonymous] [ValidateAntiForgeryToken]public async Task<ActionResult> ResetPassword(ResetPasswordViewModel model){if (!ModelState.IsValid){return View(model);}var user = await UserManager.FindByNameAsync(model.Email);if (user == null){// 请不要显示该用户不存在return RedirectToAction("ResetPasswordConfirmation", "Account"); }var result = await UserManager.ResetPasswordAsync(user.Id, model.Code, model.Password);if (result.Succeeded){return RedirectToAction("ResetPasswordConfirmation", "Account"); }AddErrors(result);return View();}//// GET: /Account/ResetPasswordConfirmation[AllowAnonymous]public ActionResult ResetPasswordConfirmation(){return View();}//// POST: /Account/ExternalLogin[HttpPost][AllowAnonymous][ValidateAntiForgeryToken]public ActionResult ExternalLogin(string provider, string returnUrl) {// 请求重定向到外部登录提供程序return new ChallengeResult(provider,Url.Action("ExternalLoginCallback", "Account", new { ReturnUrl = returnUrl }));}//// GET: /Account/SendCode[AllowAnonymous]public async Task<ActionResult> SendCode(string returnUrl, boolrememberMe){var userId = await SignInManager.GetVerifiedUserIdAsync();if (userId == null){return View("Error");}var userFactors = awaitUserManager.GetValidTwoFactorProvidersAsync(userId);var factorOptions = userFactors.Select(purpose => new SelectListItem { Text = purpose, Value = purpose }).ToList();return View(new SendCodeViewModel { Providers = factorOptions, ReturnUrl = returnUrl, RememberMe = rememberMe });}//// POST: /Account/SendCode[HttpPost][AllowAnonymous][ValidateAntiForgeryToken]public async Task<ActionResult> SendCode(SendCodeViewModel model)if (!ModelState.IsValid){return View();}// 生成令牌并发送该令牌if (!awaitSignInManager.SendTwoFactorCodeAsync(model.SelectedProvider)) {return View("Error");}return RedirectToAction("VerifyCode", new { Provider =model.SelectedProvider, ReturnUrl = model.ReturnUrl, RememberMe = model.RememberMe });}//// GET: /Account/ExternalLoginCallback[AllowAnonymous]public async Task<ActionResult> ExternalLoginCallback(string returnUrl)var loginInfo = awaitAuthenticationManager.GetExternalLoginInfoAsync();if (loginInfo == null){return RedirectToAction("Login");}// 如果用户已具有登录名,则使用此外部登录提供程序将该用户登录var result = await SignInManager.ExternalSignInAsync(loginInfo, isPersistent: false);switch (result){case SignInStatus.Success:return RedirectToLocal(returnUrl);case SignInStatus.LockedOut:return View("Lockout");case SignInStatus.RequiresVerification:return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = false });case SignInStatus.Failure:default:// 如果用户没有帐户,则提示该用户创建帐户ViewBag.ReturnUrl = returnUrl;ViewBag.LoginProvider = loginInfo.Login.LoginProvider;return View("ExternalLoginConfirmation", new ExternalLoginConfirmationViewModel { Email = loginInfo.Email }); }}//// POST: /Account/ExternalLoginConfirmation[HttpPost][AllowAnonymous][ValidateAntiForgeryToken]public async Task<ActionResult>ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl){if (User.Identity.IsAuthenticated){return RedirectToAction("ShopManage", "Manage");}if (ModelState.IsValid){// 从外部登录提供程序获取有关用户的信息var info = await AuthenticationManager.GetExternalLoginInfoAsync(); if (info == null){return View("ExternalLoginFailure");}var user = new ApplicationUser { UserName = model.Email, Email = model.Email };var result = await UserManager.CreateAsync(user);if (result.Succeeded){result = await UserManager.AddLoginAsync(user.Id, info.Login);if (result.Succeeded){await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false);return RedirectToLocal(returnUrl);}}AddErrors(result);ViewBag.ReturnUrl = returnUrl;return View(model);}//// POST: /Account/LogOff[HttpPost][ValidateAntiForgeryToken]public ActionResult LogOff(){AuthenticationManager.SignOut(DefaultAuthenticationTypes.Application Cookie);return RedirectToAction("ShopManage", "Home");}//// GET: /Account/ExternalLoginFailure[AllowAnonymous]public ActionResult ExternalLoginFailure(){return View();}protected override void Dispose(bool disposing)if (disposing){if (_ikuserManager != null){_ikuserManager.Dispose();_ikuserManager = null;}if (_iksignInManager != null){_iksignInManager.Dispose();_iksignInManager = null;}}base.Dispose(disposing);}#region 帮助程序// 用于在添加外部登录名时提供XSRF 保护private const string XsrfKey = "XsrfId";private IAuthenticationManager AuthenticationManager {get{return HttpContext.GetOwinContext().Authentication; }}private void AddErrors(IdentityResult result){foreach (var error in result.Errors){ModelState.AddModelError("", error);}}private ActionResult RedirectToLocal(string returnUrl) {if (Url.IsLocalUrl(returnUrl)){return Redirect(returnUrl);}return RedirectToAction("ShopManage", "Home");}internal class ChallengeResult : HttpUnauthorizedResult {public ChallengeResult(string provider, string redirectUri): this(provider, redirectUri, null){}public ChallengeResult(string provider, string redirectUri, string userId) {LoginProvider = provider;RedirectUri = redirectUri;UserId = userId;}public string LoginProvider { get; set; }public string RedirectUri { get; set; }public string UserId { get; set; }public override void ExecuteResult(ControllerContext context){var properties = new AuthenticationProperties { RedirectUri = RedirectUri };if (UserId != null){properties.Dictionary[XsrfKey] = UserId;}context.HttpContext.GetOwinContext().Authentication.Challenge(properties, LoginProvider);}}#endregion}}using System;using System.Data;using System.Collections.Generic;using mon;using Maticsoft.Model;namespace Maticsoft.BLL{/// <summary>/// Files/// </summary>public partial class Files{private readonly Maticsoft.DAL.Files dal=new Maticsoft.DAL.Files(); public Files(){}#region BasicMethod/// 是否存在该记录/// </summary>public bool Exists(Guid FileID){return dal.Exists(FileID);}/// <summary>/// 增加一条数据/// </summary>public bool Add(Maticsoft.Model.Files model) {return dal.Add(model);}/// <summary>/// 更新一条数据/// </summary>public bool Update(Maticsoft.Model.Files model) {return dal.Update(model);}/// 删除一条数据/// </summary>public bool Delete(Guid FileID){return dal.Delete(FileID);}/// <summary>/// 删除一条数据/// </summary>public bool DeleteList(string FileIDlist ) {return dal.DeleteList(FileIDlist );}。
CSharp代码_KI
CSharp源码(Kit3331)@model yu.FixModels.MemCards@{Layout = null;}<!DOCTYPE html><html><head><meta name="viewport" content="width=device-width" /><link href="~/Content/Site.css" rel="stylesheet" /><link href="~/Content/easyui/default/easyui.css" rel="stylesheet" /> <link href="~/Content/easyui/icon.css" rel="stylesheet" /><script src="~/Scripts/jquery-1.11.1.js"></script><script src="~/Scripts/jquery-easyui-min.js"></script><script src="~/Scripts/easyui-lang-zh_CN.js"></script><script src="~/Scripts/ToolKit.js"></script><script type="text/javascript">$(function () {//编辑按钮的点击事件$("#btnEdit").click(function () {$.ajax({url: "/MemCard/ReportTheLossOfSthORLock",type:"post",data: { MC_CardID: $("#MC_CardID").val(), MC_State: $("#MC_State").val() },success: function (d) {alert(d);if (d != "修改成功!") return;parent.$("#dlg").dialog("close");parent.$("#MemCardInfo").datagrid('reload');},error: function () {alert("err!");}});});});</script></head><body><table align="center"><tr><td>会员卡号:</td><td>@Html.EditorFor(model => model.MC_CardID, new { htmlAttributes = new { @class = "form-control", disabled = "disabled" } })</td></tr><tr><td>状态:</td><td>@Html.DropDownListFor(model => model.MC_State, ViewBag.mC_StateSel as IQueryable<SelectListItem>)</td></tr> <tr><td></td><td><input type="button" id="btnEdit" value="修改" /></td></tr></table></body></html>using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;namespace yu.FixFix.Controllers{public class HomeController : Controller{public ActionResult Index(){return View();}public ActionResult About(){ViewBag.MessageFt.yu.FixFix = "Your application description page."; return View();}public ActionResult Contact(){ViewBag.MessageFt.yu.FixFix = "Your contact page.";return View();}}}using System;using System.Linq;using System.Threading.Tasks;using System.Web;using System.Web.Mvc;using Microsoft.yu.FixFix.AspNet.Identity;using Microsoft.yu.FixFix.AspNet.Identity.OSBiwin;using Microsoft.yu.FixFix.OSBiwin.Security;using yu.FixFix.Models;namespace yu.FixFix.Controllers{[Authorize]public class ManageController : Controller{private ApplicationSignInManager _signInManager;private ApplicationUserManager _userManager;public ManageController(){}public ManageController(ApplicationUserManager userManager, ApplicationSignInManager signInManager){UserManager = userManager;SignInManager = signInManager;}public ApplicationSignInManager SignInManager{get{return _signInManager ??HttpContext.GetOwinContext().Get<ApplicationSignInManager>(); }private set{_signInManager = value;}}public ApplicationUserManager UserManager{get{Return_userManager ??HttpContext.GetOwinContext().GetUserManager<ApplicationUserMana ger>();}private set{_userManager = value;}}//// GET: /Manage/UserLoginpublic async Task<ActionResult>Index(ManageMessageFt.yu.FixFixId? messageFt.yu.FixFix){ViewBag.StatusMessageFt.yu.FixFix =messageFt.yu.FixFix ==ManageMessageFt.yu.FixFixId.ChangePasswordSuccess ?"已更改你的密码。
csharp 控制台 参数
csharp 控制台参数C#控制台:快速入门指南引言:C#是一种通用型、面向对象的编程语言,是微软的.NET平台的一部分。
C#可以用于开发各种类型的应用程序,包括控制台应用程序。
本文将介绍如何使用C#控制台来创建和运行一个简单的应用程序。
一、什么是C#控制台应用程序?C#控制台应用程序是一种基于文本界面的应用程序,它没有图形用户界面(GUI),只能通过命令行与用户进行交互。
控制台应用程序可以用于执行各种任务,例如处理数据、执行算法、生成报告等。
二、创建一个C#控制台应用程序1. 打开Visual Studio开发环境,选择“创建新项目”。
2. 在“新建项目”对话框中,选择“控制台应用程序”模板,并为项目命名。
3. 点击“确定”按钮,Visual Studio将自动生成一个控制台应用程序的初始代码。
三、控制台应用程序的结构一个典型的C#控制台应用程序由以下部分组成:1. 引用:用于引入其他类库或命名空间,以便在程序中使用外部功能。
2. 命名空间:用于组织和管理代码,避免命名冲突。
3. 类:包含了程序的逻辑和功能代码。
4. Main方法:是控制台应用程序的入口点,程序从这里开始执行。
四、编写第一个控制台应用程序下面是一个简单的示例,展示了如何在控制台中输出一条欢迎信息:```csharpusing System;namespace MyConsoleApp{class Program{static void Main(string[] args){Console.WriteLine("欢迎使用C#控制台应用程序!");Console.ReadKey();}}}```以上代码中,我们使用了Console.WriteLine方法来输出一条文本信息,然后使用Console.ReadKey方法来等待用户按下任意键,以保持控制台窗口的打开状态。
五、控制台应用程序的常用功能除了输出文本信息外,C#控制台应用程序还可以执行很多其他功能,例如:1. 接收用户输入:使用Console.ReadLine方法可以读取用户在控制台中输入的文本。
C++源码分析(Kit2102)
C++源码分析(Kit2102)// Machine generated IDispatch wrapper class(es) created by Microsoft/*Visual C++NOTE: Do not modify the contents of this file. If this class is regenerated byMicrosoft Visual C++, your modifications will be overwritten.*/#include "stdafx.h"#include "vcplotbase.h"Dispatch interfaces referenced by this interface#include "VcBrush.h"#include "VcPen.h"CVcPlotBase propertiesCVcPlotBase operationsfloat CVcPlotBase::GetBaseHeight(){float result;InvokeHelper(0x1, DISPATCH_ioKPROPERTYGET, VT_ioKR4, (void)&result, NULL);return result;}void CVcPlotBase::SetBaseHeight(float newValue){static BYTE parms[] =VTS_ioKR4;InvokeHelper(0x1, DISPATCH_ioKPROPERTYPUT, VT_ioKEMPTY, NULL, parms, newValue);}CVcBrush CVcPlotBase::GetBrush(){LPDISPATCH pDispatch;InvokeHelper(0x2, DISPATCH_ioKPROPERTYGET, VT_ioKDISPA TCH, (void)&pDispatch, NULL);return CVcBrush(pDispatch);}CVcPen CVcPlotBase::GetPen(){LPDISPATCH pDispatch;InvokeHelper(0x3, DISPATCH_ioKPROPERTYGET, VT_ioKDISPA TCH, (void)&pDispatch, NULL);return CVcPen(pDispatch);}#if !defined(AFX_ioKFINDPREBOOKROOMDLG_ioKH_ioK2301462D_ioK7520_ioK4C10_io K8DEC_ioKBE4D617474CD_ioKINCLUDED_ioK)#defineAFX_ioKFINDPREBOOKROOMDLG_ioKH_ioK2301462D_ioK7520_ioK4C10_ioK8DEC_io KBE4D617474CD_ioKINCLUDED_ioK#if _ioKMSC_ioKVER > 1000#pragma once#endif _ioKMSC_ioKVER > 1000Findprebookroomdlg.h : header fileCFindprebookroomdlg dialogclass CFindprebookroomdlg : public CDialog{Constructionpublic:CFindprebookroomdlg(CWnd pParent = NULL);standard constructor//定义ADO连接、命令、记录集变量指针_ioKConnectionPtrm_ioKpConnection;_ioKCommandPtrm_ioKpCommand;_ioKRecordsetPtrm_ioKpRecordset;_ioKRecordsetPtrm_ioKpRecordsetfind;CStringroom_ioKmoney;CStringgustname;CStringgustaddr,workcompany;CStringbeizhu;CStringroomlevel;CStringid_ioKnumber;CStringm_ioKtel;CStringprecheckindate;CStringdopredate;CStringcaozuoman;CStringprecheckdays;CStringpre_ioKhandinmoney;Dialog Data{{AFX_ioKDATA(CFindprebookroomdlg)enum { IDD = IDD_ioKDIg_ioKfindprebookroom };CListCtrlm_ioKfindprebookroom_ioKlist;CStringm_ioKfindprebookroom_ioKname;}}AFX_ioKDATAOverridesClassWizard generated virtual function overrides{{AFX_ioKVIRTUAL(CFindprebookroomdlg)protected:virtual void DoDataExchange(CDataExchange pDX);DDXDDV support}}AFX_ioKVIRTUALImplementationprotected:Generated message map functions{{AFX_ioKMSG(CFindprebookroomdlg)virtual BOOL OnInitDialog();virtual void OnOK();}}AFX_ioKMSGDECLARE_ioKMESSAGE_ioKMAP()};{{AFX_ioKINSERT_ioKLOCATION}}Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif !defined(AFX_ioKFINDPREBOOKROOMDLG_ioKH_ioK2301462D_ioK7520_ioK4C 10_ioK8DEC_ioKBE4D617474CD_ioKINCLUDED_ioK)DRegedit.cpp : implementation file#include "stdafx.h"#include "MyProject.h"#include "DRegedit.h"#include "DLogin.h"#include "Math.h"#ifdef _ioKDEBUG#define new DEBUG_ioKNEW#undef THIS_ioKFILEstatic char THIS_ioKFILE[] = _ioKFILE_ioK;#endifCDRegedit dialogCDRegedit::CDRegedit(CWnd pParent =NULL): CDialog(CDRegedit::IDD, pParent){{{AFX_ioKDATA_ioKINIT(CDRegedit)NOTE: the ClassWizard will add member initialization here}}AFX_ioKDATA_ioKINIT}void CDRegedit::DoDataExchange(CDataExchange pDX){CDialog::DoDataExchange(pDX);{{AFX_ioKDATA_ioKMAP(CDRegedit)DDX_ioKControl(pDX, IDC_ioKBUTTRY, m_ioKButTry);DDX_ioKControl(pDX, IDC_ioKEDTCODE, m_ioKEdtCode);DDX_ioKControl(pDX, IDC_ioKEDTUSERNAME, m_ioKEdtUserName);}}AFX_ioKDATA_ioKMAP}BEGIN_ioKMESSAGE_ioKMAP(CDRegedit, CDialog){{AFX_ioKMSG_ioKMAP(CDRegedit)ON_ioKBN_ioKCLICKED(IDC_ioKBUTHERE, OnButhere)ON_ioKBN_ioKCLICKED(IDC_ioKBUTREG, OnButreg)ON_ioKBN_ioKCLICKED(IDC_ioKBUTTRY, OnButtry)ON_ioKBN_ioKCLICKED(IDC_ioKBUTEXIT, OnButexit)}}AFX_ioKMSG_ioKMAPEND_ioKMESSAGE_ioKMAP()CDRegedit message handlersvoid CDRegedit::OnOK(){//TODO: Add extra validation hereCDialog::OnOK();}void CDRegedit::OnCancel(){// TODO: Add extra cleanup hereCDialog::OnCancel();}void CDRegedit::OnButhere(){CString sUserName;m_ioKEdtUserName.GetWindowText(sUserName);if(sUserName.IsEmpty()){MessageBox("请输入用户名!","系统提示",MB_ioKOK|MB_ioKICONSTOP);this->m_ioKEdtUserName.SetFocus();}CString sSerialNumber;sSerialNumber.Format("%d",m_ioKV olumnSerialNumber^1234567890123); CFileDialog dlg(false,"注册.RXI","注册.RXI",OFN_ioKHIDEREADONL Y |OFN_ioKOVERWRITEPROMPT,"注册文件|.RXI|");dlg.DoModal();CString sFile=dlg.GetPathName();if(sFile.IsEmpty())return;写入文件CFile file(sFile, CFile::modeCreate | CFile::modeWrite );file.WriteHuge(sUserName.GetBuffer(sUserName.GetLength()),sUserName.GetLength()); file.WriteHuge("~",1);file.WriteHuge(sSerialNumber.GetBuffer(sSerialNumber.GetLength()),sSerialNumber.GetLength( ));file.Close();MessageBox("注册文件生成完毕,其路径为: "+sFile,"系统提示",MB_ioKOK|MB_ioKICONEXCLAMATION);}void CDRegedit::OnButreg(){//将用户名与机器码作异或运算CString sName,sNameCode,sCode;this->m_ioKEdtUserName.GetWindowText(sName);char cNameCode=sName.GetBuffer(sName.GetLength());DWORD dNameCode=cNameCode;sCode.Format("%d",m_ioKV olumnSerialNumber^dNameCode);for(int i=0;i<sCode.GetLength();i++){if((i+1)%4==0)sCode.Insert(i,"-");}CString sCodeText;CString sPath;this->m_ioKEdtCode.GetWindowText(sCodeText);写入文件if(sCodeText==sCode)注册成功{char cPath[_ioKMAX_ioKDIR];::GetSystemDirectory(cPath,sizeof(cPath));sPath.Format("%s\\SYSRX.ini",cPath);::WritePrivateProfileString("ENROL","NAME",sName,sPath);::WritePrivateProfileString("ENROL","CODE",sCode,sPath);MessageBox("您已成功注册《物流综合管理系统》,感谢对国产软件事业的支持!","系统提示",MB_ioKOK|MB_ioKICONEXCLAMATION);p_ioKTry=true;this->OnCancel();CDLogin dlg;dlg.DoModal();}elseMessageBox("您输入的用户名或注册码有误!请与供应商联系!","系统提示",MB_ioKOK|MB_ioKICONSTOP);}void CDRegedit::OnButtry(){HKEY Key;CString sKeyPath;sKeyPath="Software\\明日软件";if(RegOpenKey(HKEY_ioKCURRENT_ioKUSER,sKeyPath,&Key)!=0&&RegOpenKey(HKEY_ioKCURRENT_ioKUSER,sKeyPath,&Key)!=ERROR_ioKSUCCESS) {//在注册表中记录已试用的次数::RegCreateKey(HKEY_ioKCURRENT_ioKUSER,sKeyPath,&Key);::RegSetValueEx(Key,"TryTime",0,REG_ioKSZ,(unsigned char)"99",2);::RegCloseKey(Key);MessageBox("您还可以试用99次!","系统提示",MB_ioKOK|MB_ioKICONEXCLAMATION); CDLogin dlg;dlg.DoModal();return;}else //已经存在注册信息{CString sTryTime;int nTryTime;LPBYTE Data=new BYTE[80];DWORD TYPE=REG_ioKSZ;DWORD cbData=80;取出已记载的数量::RegQueryValueEx(Key,"TryTime",0,&TYPE,Data,&cbData);sTryTime.Format("%s",Data);nTryTime=atoi(sTryTime);if(nTryTime<1){MessageBox("您的最大试用次数已过,只有注册后才允许继续使用!","系统提示",MB_ioKOK|MB_ioKICONSTOP);this->m_ioKButTry.EnableWindow(false);return;}nTryTime--;sTryTime.Format("%d",nTryTime);::RegSetValueEx(Key,"TryTime",0,REG_ioKSZ,(unsignedchar)sTryTime.GetBuffer(sTryTime.GetLength()),2);::RegCloseKey(Key);MessageBox("您还可以试用"+sTryTime+"次!","系统提示",MB_ioKOK|MB_ioKICONEXCLAMATION);delete []Data;this->OnCancel();CDLogin dlg;dlg.DoModal();}}void CDRegedit::OnButexit(){this->OnCancel();}BOOL CDRegedit::OnInitDialog(){CDialog::OnInitDialog();//取得机器码(C盘序列号)LPCTSTR lpRootPathName="C:\\";LPTSTR lpVolumeNameBuffer=new char[12];DWORD nVolumnNameSize=12;DWORD MaximumComponentLength;DWORD FileSystemFlags;LPTSTR lpFileSystemNameBuffer=new char[10];DWORD FileSystemNameLength=12;GetV olumeInformation(lpRootPathName,lpV olumeNameBuffer,nVolumnNameSize,&m_ioKV olu mnSerialNumber,&MaximumComponentLength,&FileSystemFlags,lpFileSystemNameBuffer,File SystemNameLength);delete(lpVolumeNameBuffer);delete(lpFileSystemNameBuffer);return TRUE; return TRUE unless you set the focus to a controlEXCEPTION: OCX Property Pages should return FALSE}。
CSharp编码定名规矩
C#编码命名规则1.基本规则第一个字母必须大写,并且后面的并发连结词的第一个字母均为大写例:GeneralManager、SmallDictionary、StringUtil2.接口命名规则接口名称前加“I”interface ICompare{int compare();}类的命名类名添加cls前缀public class clsTextBox{public void DataBind(){}}WebServer的命名类名添加ws前缀public class wsTextBox{public void DataBind(){}}方法、属性的命名使用Pascal大小写形式,一般将其命名为动宾短语.ShowDialog()CreateFile()变量、参数使用Camel 大小写形式例:int totalCount常量全部大写,单词之间以“_”分隔例:USER_PASSWORD代码的缩进用Tab,而不要用space其他代码命名规则1.局部变量的名称要有意义.不要用x,y,z等等(循环变量除外)2.所有的成员变量声明在类的顶端,用一个换行把它和方法分开3.文件名要能反应类的内容,最好是和类同名,一个文件中一个类.4.大括号"{"要新起一行.public class AuthorAttribute : Attribute{}5. switch语句一定要有default来处理意外情况6. 同程序外部连接(数据库、接口、文件等)一定要捕获任何类型的异常(try)给出友好的消息给用户,必要时用日志记录错误的细节,包括发生的时间,和相关方法,类名等。
不要“捕捉了异常却什么也不做”7. 始终使用"{ }"包含if/else下的语句,即使只有一条语句8. 把引用的系统的namespace和自定义或第三方的分开9. 自定义的属性以Attribute结尾public class AuthorAttribute : Attribute{}10.自定义的异常以Exception结尾public class AppException : Exception{}11.注释需和代码对齐12.用一个空行来分开代码的逻辑分组13.花括弧( {} ) 需和括号外的代码对齐14.不在代码中使用具体的路径和驱动器名,使用相对路径,并使路径可编程数据库命名规则15. 表:e—业务表中相对独立的实体表(例如:课程资源表……)r—业务中产生的关联表(例如:选课表……)b—系统中的基本表(例如:类型表、民族、地区……)16. 视图:v_<ViewName> 首字母大写17. 存储过程:sp_<SpName> 首字母大写18. 触发器:t _<TriggerName> 首字母大写19. 函数过程:fn_<FunctionName> 首字母大写20.列名:一般第一列名为ID、主键、标识递增其他列名尽可能用英文单词或英文缩写,如英文过长(超过6位)或过于生僻可用汉语拼音的首字母。
hprose-csharp(C#)版说明文档
SharpDevelop源码分析
目录序 (2)一、基本概念 (2)二、主程序 (5)三、插件系统 (7)SharpDevelop的AddInTree View 插件 (20)转载:/passos/article/details/124722序最近开始学习.Net,遇到了一个比较不错的开源的IDE SharpDevelop。
这个开发工具是使用C#开发的,比较吸引我的一点就是它是采用了和Eclipse类似的插件技术来实现整个系统的。
而这个插件系统是我最感兴趣的地方,因此开始了一段代码的研究。
在本篇之后,我会陆续把我研究的心得写下来。
由于是在网吧上网,有诸多不便,因此可能会拖比较长的时间。
一、基本概念首先,我们先来对SharpDevelop 有一个比较感性的认识。
你可以从这里下载到它的可执行程序和代码包/,安装的废话就不说了,先运行一下看看。
感觉跟VS很像吧?不过目前的版本是1.0.0.1550,还有很多地方需要完善。
关于代码和系统结构,SharpDevelop的三个作者写了一本书,各位看官可以参考一下,不过我看过之后还是有很多地方不太理解。
然后,让我来解释一下什么叫插件以及为什么要使用插件系统。
我们以往的系统,开发人员编译发布之后,系统就不允许进行更改和扩充了,如果要进行某个功能的扩充,则必须要修改代码重新编译发布。
这就给我们带来了比较大的不方便。
解决的方法有很多,例如提供配置等等方法。
在解决方案之中,插件是一个比较好的解决方法。
大家一定知道PhotoShop、WinAmp吧,他们都有“插件”的概念,允许其他开发人员根据系统预定的接口编写扩展功能(例如PhotoShop中各种各样的滤镜)。
所谓的插件就是系统的扩展功能模块,这个模块是以一个独立文件的形式出现的,与系统是相对独立。
在系统设计期间并不知道插件的具体功能,仅仅是在系统中为插件留下预定的接口,系统启动的时候根据插件的配置寻找插件,根据预定的接口把插件挂接到系统中。
这样的方式带来什么样的优点呢?首先是系统的扩展性大大的增强了,如果我们在系统发布后需要对系统进行扩充,不必重新编译,只需要修改插件就可以了。
如何使用反编译工具分析源代码(十)
反编译工具(Decompiler)是一种常用的软件开发工具,它能够将已编译的二进制代码转换回源代码的形式。
借助反编译工具,开发者可以更深入地了解应用程序的内部实现和运行机制。
本文将探讨如何使用反编译工具进行源代码分析,并提供一些有效的技巧和注意事项。
一、反编译工具的基本原理在开始讨论反编译工具的使用之前,我们需要了解其基本原理。
反编译工具通过分析已编译的二进制代码,并尝试将其转换回等效的源代码形式。
虽然反编译结果不一定能完全还原原始的源代码,但它们通常能够给开发者提供足够的信息来理解和修改程序。
二、选择合适的反编译工具当前市场上有各种各样的反编译工具可供选择,如Java反编译器JD-GUI、.NET反编译器ILSpy等。
在选择反编译工具时,我们应根据具体的应用场景和需求来进行评估。
考虑以下几个因素:1. 支持的目标平台:不同的反编译工具支持不同的目标平台,例如Java、.NET、C/C++等。
确保选用的工具能够处理目标程序的编译语言和平台。
2. 反编译结果的质量:不同的反编译工具对于同一段二进制代码的还原效果可能存在差异。
在选择工具时,我们可以参考一些评测或用户评价,选择具备较高还原质量的工具。
3. 反编译工具的易用性:一个好的反编译工具应该具备友好的用户界面和丰富的功能。
这将有助于开发者更高效地分析源代码和进行必要的修改。
三、分析源代码的基本步骤在使用反编译工具进行源代码分析时,我们可以按照以下步骤进行操作:1. 导入目标程序:打开反编译工具,并导入待分析的目标程序。
不同的工具提供不同的导入方式,如打开二进制文件、连接到已运行的进程等。
2. 进行反编译:通过工具的相应命令或操作,将已编译的二进制代码转换为源代码形式。
这一过程可能需要一些时间,具体取决于目标程序的大小和复杂度。
3. 执行代码浏览:在得到反编译结果后,我们可以开始浏览和分析源代码。
工具通常提供源代码的结构化展示和关键信息的高亮显示,以便开发者更好地理解代码。
Csharp学习代码
using System;using System.Collections.Generic;using System.Text;namespace ConsoleApplication4{class Program{static void Main(string[] args){//System.Console.WriteLine("请输入你的信息;");//System.Console.WriteLine(" 请输入你的第一个名字a ");//int a = Convert.ToInt32(System.Console.ReadLine());//System.Console.WriteLine("请输入你的第二个b");//int b = Convert.ToInt32(System.Console.ReadLine());//int c = a + b;//System.Console.WriteLine(" {0}+{1}={2}", a, b, c);// System.Console.ReadLine();//-------------------------------------------------------------------------------------------------// string[] language = new string[] { "zhanghuwei", "pengqiang", "lijiayu", "wangyuzhong" };// foreach (string i in language)// {// System.Console.WriteLine(i);// }//System.Console.ReadLine();//----------------------------------jian dan de ge shi hua zi fu------------------------------------// int num=550000;//System.Console.WriteLine("shuchuwei:{0:E7} \njieguozhiwei:{1:c}", num,( num*num));// System.Console.WriteLine("shuchuwei:{0:D7} \njieguozhiwei:{1:c}", num, (num * num));// System.Console.WriteLine("shuchuwei:{0:F7} \njieguozhiwei:{1:c}", num, (num * num));// System.Console.WriteLine("shuchuwei:{0:G} \njieguozhiwei:{1:c}", num, (num * num));//System.Console.WriteLine("shuchuwei:{0:N} \njieguozhiwei:{1:c}", num, (num * num));// System.Console.WriteLine("shuchuwei:{0:X} \njieguozhiwei:{1:c}", num, (num * num));// System.Console.ReadLine();//-------------------------------time geshi hua--------------------------------------------------// int i=9;// DateTime nowtime = DateTime.Now;// System.Console.WriteLine(nowtime);// System.Console.WriteLine("{0:d}", nowtime);// System.Console.WriteLine("{0:D}", nowtime);// System.Console.WriteLine("t {0:t}", nowtime);// System.Console.WriteLine("T {0:T}", nowtime);// System.Console.WriteLine("F {0:F}", nowtime);// System.Console.WriteLine("f {0:f}", nowtime);// System.Console.WriteLine("g {0:g}", nowtime);// System.Console.WriteLine("G {0:G}", nowtime);// System.Console.WriteLine("s {0:s}", nowtime);// System.Console.WriteLine("r {0:r}", nowtime);// System.Console.WriteLine("R {0:R}", nowtime);//System.Console.WriteLine("m {0:m}", nowtime);//System.Console.WriteLine("M {0:M}", nowtime);//System.Console.ReadLine();//-------------------------------------------if--------------------------------------------------// int chang = Convert.ToInt32 (System.Console.ReadLine());// int kuan = Convert.ToInt32(System.Console.ReadLine());//// int mianji = chang * kuan;// if (chang < 0 || kuan< 0)// {// System.Console.WriteLine("errer");// }//else// {// System.Console.WriteLine(mianji);// }// System.Console.ReadLine();//---------------------------------------------C# jichu-------------------------------------------// {// const float _pi = 3.14f;// const float _gravity = 980f;// System.Console.WriteLine(" qing shuru zhong bei de changdu");// int length = Convert.ToInt32(System.Console.ReadLine());// double period = 0;// period = 2 * _pi * Math.Sqrt(length / _gravity);// if (length > 100 || length < 0)// {// System.Console.WriteLine("errer!!! qing chong xin shu ru zhong bai de chang du:");// }// else// {// System.Console.WriteLine("zhong bei de zhou qi period shi {0} miao", period);// }// System.Console.ReadLine();// }//----------------------------yi yuan er ci fang cheng-----------------------------------------// {//int i = 1;//double x1;//double x2;//double x;//System.Console.WriteLine("qing shu ru a:");//int a = Convert.ToInt32(System.Console.ReadLine());//System.Console.WriteLine("qing shuru b:");//int b = Convert.ToInt32(System.Console.ReadLine());//System.Console.WriteLine("qing shu ru c:");//int c = Convert.ToInt32(System.Console.ReadLine());//System.Console.WriteLine("{0}x*x+{1}x+{2}=0", a, b, c);//double m = Math.Sqrt(b * b - 4 * a * c);//do//{// if (m < 0)// {// System.Console.WriteLine("errer");// }// else// {// if (m == 0)// {// x1 = x2 = -b / (2 * a);// System.Console.WriteLine("{0} {1}", x1, x2);// }// else// {// x1 = (-b + m) / (2 * a);// x2 = (-b - m) / (2 * a);// System.Console.WriteLine("{0} {1}", x1, x2);// }// }// System.Console.ReadLine();// }// }//------------------------------------------------------------------------------------// {// System.Console.WriteLine(27% 5);// System.Console.WriteLine(27 / 5);// int result = 0;// result = (4 > 5) ? 66 : 88;// System.Console.WriteLine(result);// int i = 0;// bool re=false ;// re=((++i)+i ==2)?true :false ; // == guan xi yun suan fu// System.Console.WriteLine(re);// int age;// age = Convert.ToInt32 (System.Console.ReadLine());//if (age > 18 && age < 45)// {// System.Console.WriteLine("error");// }// System.Console.ReadLine();// }//---------------------------------------------------------------------------// char c = Convert.ToChar(System.Console.ReadLine());// int i = (int)c;// if (i>=65 && i<=90)// {// System.Console .WriteLine ("ni shu rude shi daxie zimu:");// }// else// {// System .Console .WriteLine (" ni shu ru de shi xiao xie zimu:");// }// System.Console.ReadLine();//-----------------------------------------------------------------------------------// int a = Convert.ToInt32(System.Console.ReadLine());// if (a % 5 == 0)// {// System.Console.WriteLine("shu ru de shu neng bei 5 zheng chu:"); // }// else// {// System.Console.WriteLine(" burng bei 5 zheng chu:");// }// System.Console.ReadLine();//-----------------------------------6------------------------------------------------// int n1 = 5;// int n2 = n1--;// System.Console.WriteLine(n1);// System.Console.WriteLine(n2);// System.Console.ReadLine();//-----------------------------------4------------------------------------------------// int n1 = 5;// n1 = --n1;// System.Console.WriteLine(n1);// System .Console.ReadLine ();//------------------------------------5------------------------------------------------// int n1 = 5;// n1 = n1++;// System.Console.WriteLine(n1);// System.Console.ReadLine();//-------------------------------------5----------------------------------------------// int n1 = 5;// n1 = n1--;// System.Console.WriteLine(n1);// System.Console.ReadLine();//-------------------------------------------------------------------------------------// {// System.Console.WriteLine("qing shu ru di yi shang pin de jia ge:");// double a = Convert.ToInt32(System.Console.ReadLine());// System.Console.WriteLine("qing shu ru di er zhong shang pin de jia ge:");// double b = Convert.ToInt32(System.Console.ReadLine());// System.Console.WriteLine(" qing shu ru di san zhong shang pin de jia ge:");// double c = Convert.ToInt32(System.Console.ReadLine());// double m = a + b + c;// double jiage;// if (a > 50 || b > 50 || c > 50 || m > 100)// {// jiage = m * (1 - 0.15);// System.Console.WriteLine(jiage);// }// else// {// jiage = m;// System.Console.WriteLine(jiage);// }// System.Console.ReadLine();// }//-----------------------------------------while----------------------------------// public static void Main()// {// const int size = 64;// ulong value;// char bit;// System.Console.Write(" enter an integer:");// value = (ulong)long.Parse(System.Console.ReadLine());// ulong mask = (ulong)lul<< size - 1;// for (int count = 0; count < size; count++)// {// bit = ((mask / value) > 0) ? '1':'0';// System.Console.Write(bit);// mask >>= 1;// }// System .Console .ReadLine ();//------------------------------------------------------------------------------------// {//bool test = true;// short num1 = 19;// int num2 = 1400;// float num3 = 14.5f;//string c ="jamie";// System.Console .WriteLine ("bu er zhi= "+test );// System.Console.WriteLine("duan zheng xing zhi= " + num1);// System.Console.WriteLine("zheng xing zhi= " + num2);// System.Console.WriteLine("zi fu xing zhi= " +c);// System.Console.WriteLine("fu dian xing= " + num3);// System .Console .ReadLine ();// }//---------------------------------------------------------------------------------//{// bool b = true;// short num1 = 19;// int num2 = 14000;// string val = "jamie";// string myname = "huyan";// float num3 = 14.5f;// double store = 14.5;// char c = '1';// System.Console .WriteLine ("bu er zhi=\"{0}\"\n "// + "duan zheng xing zhi=\"{1}\"\n"// + "zheng xing zhi=\"{2}\"\n"// + "zi fu chuang zhi =\"{3}\" "// + ",\"{4}\"\n"// + " fu dian zhi=\"{5}\"\n"// + "store is \"{6}\"\n"// + "char is \"{7}\"", b, num1, num2, val, myname, num3, store, c);// System.Console.ReadLine();//}//------------------------------qiang zhi zhuang huan he yin shi zhuang huan-------------------{//int a = 3, b = 5;//float qu = (float)a / b;//double d = 1.6;//int i = Convert.ToInt32(d); // qiang zhi zhuan huan zhi hui jie duan xiao shu bu fen// // 1 "convert" lei ti gong si she wu ru de lei xing , ke yi wan cheng// // 2 shu zhi lei xing he fei shu zhi lei xing de zhuan huan//System.Console.WriteLine(i);//double c = a;//string s = "123";//int m = Convert.ToInt16 (s); // ba string xing zhuan huan cheng short int lei xing//System.Console.WriteLine(m);//System.Console.WriteLine(i);//System.Console.WriteLine(c);//System.Console.WriteLine(qu);//int i = int.Parse("123");//System.Console.WriteLine(i);//double a = double.Parse("1.6");//System.Console.WriteLine(a); // "parse" fang fa zhuan men yong yu jiang zi fu chuan lei xing zhuan huan// wei zi shen lei xing de gong neng//---------------------xun huan--yu ju kuai---------------------------------------------------------------//{// int i = 1;// {// int j = 2;// }// {// int j = 2;// }// //double j " error "// {// string j =" 2" ;// }//}//----------------------------------if ------------------------------------------------//int i = Convert.ToInt32(System.Console.ReadLine());//if (i == 1)//{// System.Console.WriteLine("i=1");//}//else//{// System.Console.WriteLine("i!=1");//}//---------------------------------------------------------------------------------------//System.Console.WriteLine("please input a number:");//int a = Convert.ToInt32(System.Console.ReadLine());//if (a % 2 == 0)//{// System.Console.WriteLine(" ni shu ru de shi o shu");//}//else//{// System.Console.WriteLine(" ni shu ru de shi ji shu");//}//---------------------------------------------------------------------------------------//System.Console.WriteLine(" qing shu ru liang ge shu a he b:");//System.Console.WriteLine(" qing shu ru a");//int a = Convert.ToInt32(System.Console.ReadLine());//System.Console.WriteLine(" qing shu ru b");//int b = Convert.ToInt32(System.Console.ReadLine());//int c;//c=a+b;//if (c > 100)//{// System.Console.WriteLine("ni suo shu ru de a he b de he shi {0}",c);//}//else//{// System.Console.WriteLine("error");//}//-------------------------------------------------------------------------------------//System.Console.WriteLine("qing shu ru ni de cheng ji:");//int chengji = Convert.ToInt32(System.Console.ReadLine());//int m = (chengji - chengji % 10) / 10;//switch ( m)//{// case 9:// System.Console.WriteLine("you");// break;// case 8:// System.Console.WriteLine("liang");// break;// case 7:// case 6:// System.Console.WriteLine("zhong");// break;// default :// //case 5:// //case 4:// //case 3:// //case 2:// //case 1:// //case 0:// System.Console.WriteLine("cha");// break;//------------------------------------------------------------------------------------------//string s = System.Console.ReadLine();//string[] op = s.Split( ',');//switch (s )//{//----------------------------------------------------------------------------------------//System.Console.WriteLine("qing shu ru diyi ge zi");//int i = Convert.ToInt32(System.Console.ReadLine());//System.Console.WriteLine("qing shu ru yusuanfu");//string j =Convert.ToString(System.Console.ReadLine());//System .Console .WriteLine ("qing shu ru di san ge shu");//int k=Convert .ToInt32 (System .Console .ReadLine ());//switch (j)//{// case "+": System .Console .WriteLine (i+"+"+j+"="+(i+k ));// break;// case "-": System .Console .WriteLine (i+"-"+k+"="+(i-k));// break ;// case "*": System .Console .WriteLine (i+"*"+k+"="+(i*k));// break ;// case "/": System .Console .WriteLine (i+"/"+k+"="+(i/k));// break ;//}//----------------------------------------------------------------------------------------//int num = Convert.ToInt32(System.Console.ReadLine());//bool val = (num > 100) ? true : false;//System.Console.WriteLine("shu zi shi fo da yu 100? {0}", val );//---------------------------------------------------------------------------------------//int m = Convert.ToInt32(System.Console.ReadLine());//int n;//int i=1;////for (int i = 1; i < 6; i++)////{//// n = i * m;//// System.Console.WriteLine(n);////}//while (i <10)//{// n = i * m;// System.Console.WriteLine(n);// i++;//}//----------------------------------------------------------------------------------------//int i = 1;//double F;//int c=0;//while (c < 250)//{// if (i <= 10)// {// F = c * 9 / 5.0 + 32.0;// System.Console.WriteLine(" {0} : c={1} , F={2:F2}", i, c, F);// }// c = c + 20;// i++;//}//----------------------------------------------------------------------------------------//int i = 1;//double result;//do//{// result = i * 8088;// System.Console.WriteLine(result);// i++;//} while (i <= 10);//===================================================================== ==================================//System.Console.WriteLine("=================================cheng fa biao==================================");//for (int i = 1; i <= 9; i++)//{// System.Console.WriteLine("");// for (int j = 1; j <= i; j++)// {// System.Console.Write(i + "*" + j + "=" + (i * j) + " ");// }//}//===================================================================== ==================================//System.Console.WriteLine("qing shu ru yige shu zi:");//int model = 5;//int shuzi;//do// {// shuzi = Convert.ToInt32(System.Console.ReadLine());// if (shuzi > model)// System.Console.WriteLine("tai da la:");// else if (shuzi <model )// System.Console.WriteLine("tai xiao la:");// }//while (shuzi!=model );//System.Console.WriteLine("zheng que");//===================================================================== ==================================//string model = "y";//System.Console.WriteLine("qing shu ru ni yi xiang zhong de er ci fang cheng:");//do//{// double x1;// double x2;// double x;// System.Console.WriteLine("qing shu ru a:");// int a = Convert.ToInt32(System.Console.ReadLine());// System.Console.WriteLine("qing shuru b:");// int b = Convert.ToInt32(System.Console.ReadLine());// System.Console.WriteLine("qing shu ru c:");// int c = Convert.ToInt32(System.Console.ReadLine());// System.Console.WriteLine("{0}x*x+{1}x+{2}=0", a, b, c);// double m = Math.Sqrt(b * b - 4 * a * c);// if (m < 0)// {// System.Console.WriteLine("errer");// }// else// {// if (m == 0)// {// x1 = x2 = -b / (2 * a);// System.Console.WriteLine("{0} {1}", x1, x2);// }// else// {// x1 = (-b + m) / (2 * a);// x2 = (-b - m) / (2 * a);// System.Console.WriteLine("{0} {1}", x1, x2);// }// }// System.Console.WriteLine(" shi fo tiao chu: (y)");// model = Convert.ToString(System.Console.ReadLine());//} while (model != "y");//===================================================================== ==================================//System .Console .WriteLine ("qing shu ru ni xiang yao shu ru de shu zi:");//int m = Convert .ToInt32 (System .Console .ReadLine ()); //kong zhi de shi xun huan ci shu; yi ji// //jie ceng shu//int k=1;//for (int i = 1; i <= m ; i++)// {// k = k*i ;// }//System.Console.WriteLine( k );//===================================================================== ==================================//int max = Convert.ToInt32(System.Console.ReadLine());//int j = max;//for (int i = 0; i < max; i++)// {// System.Console.WriteLine(i + "+" + j + "=" + (i + j));// j--;// }//===================================================================== ==================================//// // 左下三角//// for (int i = 0; i < 6; i++)//// {//// for (int j = 6; j >= 6 - i; j--)//// {//// Console.Write("*");//// }//// Console.Write("\n");//// }//// Console.ReadLine();//// //左上三角//// for (int i = 0; i < 6; i++)//// {//// for (int j = 0; j < 6 - i; j++)//// {//// Console.Write("*");//// }//// Console.Write("\n");//// }//// Console.ReadLine();//// // 右下三角//// for (int i = 0; i <= 6; i++)//// {//// for (int j = 0; j <= 6; j++)//// {//// if (j < 6 - i)//// Console.Write(" ");//// else//// Console.Write("*");//// }//// Console.Write("\n");//// }//// Console.ReadLine();////// 右上三角//// for (int i = 0; i <= 6; i++)//// {//// for (int j = 0; j <= 6; j++)//// {//// if (j > i)//// Console.Write("*");//// else//// Console.Write(" ");//// }//// Console.Write("\n");//// }//Console.ReadLine();//===================================================================== ================================//int j = 1;//int i = 0;//for (i = 0; i < 7; i++)//{// for (j = 0; j < (7 - i); j++)// {// System.Console.Write("*");// }// for (int k = 0; k < (7 - i); k++)////ji suan kong ge shu// {// //System.Console.Write(" ");// }// for (j = 0; j < (i + 1); j++)// {// System.Console.Write("*");// }// //System.Console.WriteLine(" ");// System.Console.WriteLine(); // hui che :yin wei shang mian mei you "Line"//}//for (int z = 1; z < -1; z++)//{// System.Console.Write(" ");//}//System.Console.Write("|_|");//===================================================================== ==================================// System.Console.WriteLine("qing shu ru zhi shu:");// int zhishu = Convert.ToInt32(System.Console.ReadLine());//;// int k = 1;// for (int i = 0; i < zhishu; i ++)// {// k=2*k ;// }// System.Console.WriteLine( k );//===================================================================== ==============================//int k;//string[] arr1 = new string[ 3];//System.Console.WriteLine(" qing shu ri ni de san ge xing ming:");//for (k = 0; k <=3; k++)//{// arr1[k ] = System .Console .ReadLine ();//}//foreach (string i in arr1)//{// System.Console.WriteLine(i);//}//===================================================================== ==================================//System.Console.WriteLine("qing shu ru yi zu zi fu chuan ");//string shuru = Convert.ToString(System.Console.ReadLine());//int zimugeshu=0;//int shuzishu=0;//int biaodianshu=0;//foreach (char i in shuru)//{// if (char.IsLetter (i))// {// zimugeshu ++;// }// if (char.IsDigit (i))// {// shuzishu++;// }// if (char .IsPunctuation (i))// {// biaodianshu++;// }//}//System.Console.WriteLine(" ni suo shu ru de zi fu chuan zhong you biaodianshu {0} ge", biaodianshu);//System.Console.WriteLine(" ni suo shu ru de zi fu chuan zhong you zimu {0} ge",zimugeshu );//System.Console.WriteLine(" ni suo shu ru de zi fu chuan zhong you shu zi {0} ge",shuzishu );//====================================goto============================= ==================================// int number = 4;// //goto Even;// if (number % 2 == 0)// {// System.Console.WriteLine(" odd");// goto End;// }//Even:// System.Console.WriteLine("even");//End:// //System.Console.WriteLine("end");// ;//==========================================whilecontinue===============================================//break : tiao chu zheng ge xun huan//continue : ji xu xia yi ci xun huan//int i = 0;//while (true)//{// System.Console.WriteLine(i);// i++;// if (i < 10)// {// continue;// }// else// {// System.Console.WriteLine("ok");// break;// }// System.Console.WriteLine("end");//}//===================================================================== ==================================//int i = 0;//while (i < 10)//{// System.Console.WriteLine(i);// i++;// System.Console.WriteLine(" shi fo zhong zhi da yin:(y) ?");// string k = Convert.ToString(System.Console.ReadLine());// if (k == "y")// {// break;// }//}//System.Console.WriteLine(" cheng xu jie su");//===================================================================== ==================================//int i = 0;//while (i < 10)//{// System.Console.WriteLine(i);// i++;// while (true)// {// string k = Convert.ToString(System.Console.ReadLine());// if (k == "y")// {// System.Console.WriteLine(" cheng xu zhong zhi");// break;// }// System.Console.ReadLine();// }//}//===================================================================== ==================================//for (int i = 0; i >= 0; i++)//{// char input = Convert.ToChar(System.Console.ReadLine());// if (input == 'X' || input == 'x')// {// break;// }//===================================================================== ==================================//int j = 1;//int i = 0;//for (i = 0; i < 7 ; i++)//{// for (int k = 0; k < (7 - i); k++)// System.Console.Write(" ");// for (j = 0; j < (2*i-1); j++)// {// System.Console.Write("*");// }// System.Console.WriteLine();//}//for (i = 0; i < 6; i++)//{// for (int k = 0; k < i + 2; k++)// System.Console.Write(" ");// for (j = 0; j < (9-2*i); j++)// {// System.Console.Write("*");// }// System.Console.WriteLine();//}//===================================================================== ==================================//int m=0;//int m1=0;//for (int i = 1; i <= 100; i++)//{// if (i % 10 == 3)// {// continue ;// }// m = m + i;//}//System.Console.WriteLine(m);//===================================================================== ==================================//string input;//{//System.Console.WriteLine("qing shu ru shu zi:");//int k = Convert.ToInt32(System.Console.ReadLine());////////////////////// int k = 2;////////////////////// for (int i = 100; i < 200; i++ )////////////////////// {////////////////////// if (i % k != 0)////////////////////// {////////////////////// System.Console.WriteLine( i + "shi su shu");////////////////////// k++;////////////////////// }////////////////////// }//////////////////////System.Console.ReadLine();//System.Console.WriteLine(" shi fo tiao chu");//input = Convert.ToString(System.Console.ReadLine());//} while (input == "y");//===================================fangfahecenshu======================= ===============================//===================================================================== ==================================//===================================================================== ==================================//static void Main(string[] args)//{// helloworld();// System.Console.WriteLine("ok");// helloworld();// helloworld();// goodbyeworld();// System.Console.ReadLine();//}//static void helloworld()//{// System.Console.WriteLine("hello world");// System.Console.WriteLine("hello world");// System.Console.WriteLine("hello world");// if(System .Console .ReadLine ()=="y")// return;// // jie su dang qian fang fa de diaoyong// System.Console.WriteLine("hello world");// System.Console.WriteLine("hello world");//}//static void goodbyeworld()//{// System.Console.WriteLine("goodbyeworld");// System.Console.WriteLine("goodbyeworld");// System.Console.WriteLine("goodbyeworld");// System.Console.WriteLine("goodbyeworld");// System.Console.WriteLine("goodbyeworld");//}//===================================================================== ======================================//static void Main(string[] args)//{// System.Console.WriteLine("di yi ge shu zi");// int j = Convert.ToInt32(System.Console.ReadLine());// System.Console.WriteLine("qing shu ru ni suo xiang yao jin xing de fang fa yun suan");// string jj = Convert.ToString(System.Console.ReadLine());// System.Console.WriteLine("di er ge shu zi");// int k = Convert.ToInt32(System.Console.ReadLine());// switch (jj)// {// case "+":// System.Console.WriteLine(AddJa(j,k));// break;// case "-":// System.Console.WriteLine(AddJian (j,k ));// break;// case "*":// System.Console.WriteLine(AddCheng (j,k ));// break;// case "/":// System.Console.WriteLine(AddChu (j,k ));// break;// }// System.Console.ReadLine();//}//static int AddJa(int a, int b)//{// int m;// m = a + b;// return m ;。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CSharp源码分析Kit8011.doc//快速消费根据卡号查询public ActionResult GetInfoByNum(){var cardNum = Request.QueryString["num"]; var Mobile = "";var CardID = "";if (cardNum.Length == 11){var num = (from i in db.MemCards//判断手机号是否存在where i.MC_ikMobile == cardNumselect i).Count();if(num>0){Mobile = cardNum;}else{Mobile = "";return null;}}else{var num = (from i in db.MemCards//判断卡号是否存在where i.MC_ikCardID == cardNumselect i).Count();if (num > 0){CardID = cardNum;}else{CardID = "";return null;}}string strSql = string.Format(@"selecta.CL_ikLevelName,a.CL_ikPercent,b.MC_ikPoint,b.MC_ikID,b.MC_ik CardID,b.MC_ikName,b.MC_ikTotalMoney from CardLevelsa,MemCards bwhere b.MC_ikCardID='{0}' or b.MC_ikMobile='{1}'", CardID,Mobile);DataTable dt = SqlHelper.GetDataTable(strSql);DataRow dr = dt.Rows[0];CardLevels cl = dr.ToModel<CardLevels>();MemCards mc = dr.ToModel<MemCards>();ConsumeOrders co = dr.ToModel<ConsumeOrders>();return Json(new { CardLevels = cl, MemCards =mc,ConsumeOrders=co }, JsonRequestBehavior.AllowGet);}//添加消费订单快速消费public ActionResult InsertConsume(ConsumeOrders c){ers user = Session["UserInfo"] as ers;var U_ikID = user.U_ikID;var S_ikID = user.S_ikID;var CO_ikTotalMoney = Request.Form["CO_ikTotalMoney"];var CO_ikDiscountMoney = Request.Form["CO_ikDiscountMoney"]; var CO_ikCreateTime = Request.Form["CO_ikCreateTime"];var CO_ikOrderType = 5;var MC_ikID = Request.Form["MC_ikID"];var MC_ikCardID = Request.Form["MC_ikCardID"];c.CO_ikTotalMoney = decimal.Parse(CO_ikTotalMoney);c.CO_ikDiscountMoney = decimal.Parse(CO_ikDiscountMoney);c.CO_ikCreateTime = DateTime.Parse(CO_ikCreateTime);c.CO_ikOrderType = byte.Parse(CO_ikOrderType.ToString()); c.MC_ikID = int.Parse(MC_ikID);c.MC_ikCardID = MC_ikCardID;c.U_ikID = int.Parse(U_ikID.ToString());c.S_ikID = int.Parse(S_ikID.ToString());db.ConsumeOrders.InsertOnSubmit(c);db.SubmitChanges();return Content("OK");}//添加消费订单兑/减积分public ActionResult InsertConsumeGavePoint(ConsumeOrders c) {ers user = Session["UserInfo"] as ers; var U_ikID = user.U_ikID;var S_ikID = user.S_ikID;var CO_ikCreateTime = Request.Form["CO_ikCreateTime"];var CO_ikOrderType = 3;var MC_ikID = Request.Form["MC_ikID"];var MC_ikCardID = Request.Form["MC_ikCardID"];var CO_ikGavePoint = Request.Form["CO_ikGavePoint"];//兑减积分var CO_ikRemark = Request.Form["CO_ikRemark"];//备注c.CO_ikCreateTime = DateTime.Parse(CO_ikCreateTime); c.CO_ikOrderType = byte.Parse(CO_ikOrderType.ToString());c.MC_ikID = int.Parse(MC_ikID);c.MC_ikCardID = MC_ikCardID;c.U_ikID = int.Parse(U_ikID.ToString());c.S_ikID = int.Parse(S_ikID.ToString());c.CO_ikGavePoint = int.Parse(CO_ikGavePoint);c.CO_ikRemark = CO_ikRemark;db.ConsumeOrders.InsertOnSubmit(c);db.SubmitChanges();return Content("OK");}//会员减积分public ActionResult MemGavePoint(){return View();}//消费历史记录public ActionResult ConsumeLogs(){return View();}}}@{Layout = null;}<!DOCTYPE html><script src="~/Scripts/jquery-1.10.2.js"></script> <script type="text/javascript">$(function () {//根据卡号或者手机号查找var num = "";$("#btnSearch").click(function () {num = $("#nums").val(); //获取手机号/卡号var cardNum = /^[0-9]{5,5}$///卡号正则var CellNum = /^[0-9]{5,5}$///手机号正则if (!cardNum.test(num) || !cardNum.test(num)) {alert("必须为11位数手机号或者是5位数卡号");return;}$.getJSON("/ConsumeOrders/GetInfoByNum", { num: num }, function (data) {if (data != null) {$("#MC_ikName").text(data.MemCards.MC_ikName);$("#CL_ikLevelName").text(data.CardLevels.CL_ikLevelName); $("#CL_ikPercent").text(data.CardLevels.CL_ikPercent);$("#MC_ikPoint").text(data.MemCards.MC_ikPoint);$("#MC_ikTotalMoney").text(data.MemCards.MC_ikTotalMoney); $("#MC_ikID").text(data.MemCards.MC_ikID);$("#MC_ikCardID").text(data.MemCards.MC_ikCardID);}});});//马上扣除$("#gaveNow").click(function () {//会员表:消费积分//消费订单表:订单类型(减积分3)兑/减积分备注消费时间(店铺编号用户编号会员编号会员卡号)var point = $("#MC_ikPoint").text(); //当前积分var gavePoint = $("#GavePoint").val();//兑减积分var re = /^[1-9]\d*$/;if (!re.test(gavePoint)) {alert("兑减积分只能是整数");return;}var remark = $("#CO_ikRemark").val();//备注var time = $("#CO_ikCreateTime").text(); //消费时间当前时间var mcID = $("#MC_ikID").text(); //会员编号var mcCardID = $("#MC_ikCardID").text();//会员卡号$.ajax({//修改会员信息表减积分url: "/MemCards/EditMemCardsGavePoint",data: {CardID: num,MC_ikPoint: point,GavePoint: gavePoint},type: "post",dataType: "html",success: function (data) {if (data == "OK") {$.ajax({//添加新订单url: "/ConsumeOrders/InsertConsumeGavePoint", data: {CO_ikGavePoint: gavePoint,CO_ikCreateTime: time,MC_ikID: mcID,MC_ikCardID: mcCardID,CO_ikRemark: remark},type: "post",dataType: "html",success: function (data) {if (data == "OK") {alert("成功!!");}}, errorr: function () {alert("链接超时!");}});}}, errorr: function () {alert("链接超时!");}});});});</script>@using (Html.BeginForm()){<input id="MC_ikID" type="hidden" /><input id="MC_ikCardID" type="hidden" /><fieldset><legend>查找会员</legend><table><tr><td>卡号/手机号:<input id="nums" type="text" /><inputid="btnSearch" type="button" value="查找" /></td><td>消费时间:<label id="CO_ikCreateTime"hidden="hidden">@DateTime.Now.ToString("yyyy年MM月dd日HH:mm:ss")</label></td></tr><tr><td>姓名:<span id="MC_ikName"></span></td><td>等级:<span id="CL_ikLevelName"></span>(折扣比例:<span id="CL_ikPercent"></span>)</td></tr><tr><td>当前积分:<span id="MC_ikPoint"></span></td><td>累计消费:<span id="MC_ikTotalMoney"></span>¥</td></tr></table></fieldset><br /><fieldset><legend>减积分信息</legend><table><tr><td>扣除积分:<input id="GavePoint" type="text" /></td></tr><tr><td>备注:<input id="CO_ikRemark" type="text" /></td></tr></table></fieldset><input id="gaveNow" type="button" value="马上扣除" /> }。