首页 文章 精选 留言 我的

精选列表

搜索[c 17],共10000篇文章
优秀的个人博客,低调大师

C#加减乘除

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Ch03Ex02 { class Program { static void Main(string[] args) { double firstNumber, secondNumber; string userName; Console.WriteLine("请输入姓名:"); userName = Console.ReadLine(); Console.WriteLine("请输入第一个数字:"); firstNumber = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("请输入第二个数字:"); secondNumber = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("数字{0}加{1}结果是:{2}",firstNumber,secondNumber,firstNumber+secondNumber); Console.WriteLine("数字{0}减{1}结果是:{2}", firstNumber, secondNumber, firstNumber - secondNumber); Console.WriteLine("数字{0}乘{1}结果是:{2}", firstNumber, secondNumber, firstNumber * secondNumber); Console.WriteLine("数字{0}除{1}结果是:{2}", firstNumber, secondNumber, firstNumber / secondNumber); Console.WriteLine("数字{0}余{1}结果是:{2}", firstNumber, secondNumber, firstNumber % secondNumber); Console.ReadKey(); } } } 本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/6705465.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

C#对象深度克隆

有基础的开发者都应该很明白,对象是一个引用类型,例如: object b=new object(); object a=b; 那么a指向的是b的地址,这样在有些时候就会造成如果修改a的值,那么b的值也会跟随着改变(a和b是同一个引用内存地址)。 我们想要a和b都是各自互不影响的,那么只能是完全地新建一个新的对象,并且把现有对象的每个属性的值赋给新的对象的属性。也就是值类型的复制,这个操作就叫深度克隆。 这里我们写两个泛型方法分别对对象T和集合List<T>进行深度克隆的实现,我们的方法实现方式是“扩展方法”,就是能在原有的对象后面直接“点”操作。 下面我们来看一下深度克隆的算法实现: usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Reflection;/** *author:qixiao *create:2017-5-2511:52:21 **/namespaceQX_Frame.Helper_DG.Extends {publicstaticclassCloneExtends {publicstaticTDeepCloneObject<T>(thisTt)whereT:class { Tmodel=System.Activator.CreateInstance<T>();//实例化一个T类型对象 PropertyInfo[]propertyInfos=model.GetType().GetProperties();//获取T对象的所有公共属性 foreach(PropertyInfopropertyInfoinpropertyInfos) {//判断值是否为空,如果空赋值为null见else if(propertyInfo.PropertyType.IsGenericType&&propertyInfo.PropertyType.GetGenericTypeDefinition().Equals(typeof(Nullable<>))) {//如果convertsionType为nullable类,声明一个NullableConverter类,该类提供从Nullable类到基础基元类型的转换 NullableConverternullableConverter=newNullableConverter(propertyInfo.PropertyType);//将convertsionType转换为nullable对的基础基元类型 propertyInfo.SetValue(model,Convert.ChangeType(propertyInfo.GetValue(t),nullableConverter.UnderlyingType),null); }else { propertyInfo.SetValue(model,Convert.ChangeType(propertyInfo.GetValue(t),propertyInfo.PropertyType),null); } }returnmodel; }publicstaticIList<T>DeepCloneList<T>(thisIList<T>tList)whereT:class { IList<T>listNew=newList<T>();foreach(varitemintList) { Tmodel=System.Activator.CreateInstance<T>();//实例化一个T类型对象 PropertyInfo[]propertyInfos=model.GetType().GetProperties();//获取T对象的所有公共属性 foreach(PropertyInfopropertyInfoinpropertyInfos) {//判断值是否为空,如果空赋值为null见else if(propertyInfo.PropertyType.IsGenericType&&propertyInfo.PropertyType.GetGenericTypeDefinition().Equals(typeof(Nullable<>))) {//如果convertsionType为nullable类,声明一个NullableConverter类,该类提供从Nullable类到基础基元类型的转换 NullableConverternullableConverter=newNullableConverter(propertyInfo.PropertyType);//将convertsionType转换为nullable对的基础基元类型 propertyInfo.SetValue(model,Convert.ChangeType(propertyInfo.GetValue(item),nullableConverter.UnderlyingType),null); }else { propertyInfo.SetValue(model,Convert.ChangeType(propertyInfo.GetValue(item),propertyInfo.PropertyType),null); } } listNew.Add(model); }returnlistNew; } } } 本文转自 sshpp 51CTO博客,原文链接:http://blog.51cto.com/12902932/1949344,如需转载请自行联系原作者

优秀的个人博客,低调大师

Objective-C之分类

Animal.h #import <Foundation/Foundation.h> @interface Animal : NSObject -(void) eat : (NSString *)food; @end Animal.m #import "Animal.h" @implementation Animal /** 吃/ -(void) eat:(NSString)food{ NSLog(@"I like eat %@" , food); } @end 在main入口中的测试 #import <Foundation/Foundation.h> #import "Animal.h" int main(int argc, const charargv[]) { @autoreleasepool { Animaldog = [[Animal alloc] init]; NSString *food = @"Bone"; [dog eat:food]; } return 0; } 结果 : 一 , 命名分类 AnimalPart h: #import <Foundation/Foundation.h> #import "Animal.h" @interface Animal (AnimalPart) -(void) call : ( NSString * ) sound;br/>@end m: #import "AnimalPart.h" @implementation Animal (AnimalPart) -(void) call:(NSString *)sound{ NSLog(@"I Call Sound : %@" , sound); } @end 测试: #import <Foundation/Foundation.h> #import "Animal.h" #import "AnimalPart.h" int main(int argc, const charargv[]) { @autoreleasepool { Animaldog = [[Animal alloc] init]; NSStringfood = @"Bone"; [dog eat:food]; //命名分类扩展的方法 NSStringsound = @"wang wang wang ......"; [dog call:sound]; } return 0; } 结果: 解释: 创建AnimalPart的h和m文件。但是AnimalPart作为Animal的扩展分类,只能写在()当中 。 实现在AnimalPart的M中间中实现代码(未命名分类在Animal的M中实现) 不能够扩展属性(未命名分类可以) 二 , 未命名分类 AnimalPartUnName 因为未命名分类不需要m文件所以只建立h文件 h文件 #import <Foundation/Foundation.h> #import "Animal.h" @interface Animal () @property NSString *name; -(void) Writename; @end 在Animal的m文件中实现 main文件 结果 本文转自Aonaufly51CTO博客,原文链接:http://blog.51cto.com/aonaufly/2044467,如需转载请自行联系原作者

优秀的个人博客,低调大师

Objective-C之协议

其实OC中的协议有点像接口或称抽象类。OC中的协议定义了一系列的方法 , 有些方法是必须实现的 , 有些方法是可以不用实现的。 定义一个协议的关键字是 :@protocol 例如: @protocol Ainy -(void) Print; @end 如上就是一个协议 , 协议的名称为Ainy 。定义了一个方法为-(void) Print 。 注意协议是在h文件中定义的 , 例如: 如何实现这个Ainy协议:使用<>括号 , 如下 我新建了一个Dog类 , 继承了Animal , 并且需要实现协议Ainy代码如下: 在Dog.m中的实现如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 // //Dog.m //PartDemo // //CreatedbyAppleon2017/12/3. //Copyright2017年Apple.Allrightsreserved. // #import"Dog.h" @implementationDog @synthesizeID; -( void )Print{ NSLog(@ "XiaoHuang" ); } @end 当然 , 可能在Animal中定义了 Aonaufly协议 , 如何同时显示Ainy 和 Aonaufly协议呢 ?? @interface Dog : Animal <Ainy , Aonaufly>用,隔开 问题来了 , 怎么定义可以不需要实现的方法 和 如何定义一定要实现的方法 @optional 定义不一定需要实现的方法(在其后的在所有的方法) @required 定义一定需要实现的方法(在其后的所有方法) 如何知道此类实现了Ainy协议了呢?? id Object; if( [Object conformsToProtocol : @protocol (Ainy)] == YES){ } 当让如果你知道Object一定实现了协议Ainy , 你可以这么干 id <Ainy> Object; 加入Object实现了协议Ainy , 如何知道Object实现了Ainy的方法 Dance呢 , 因为Dance是可以不用实现的方法 if( [Object respondsToSelector: @selector (Dance)] == YES ){ } 本文转自Aonaufly51CTO博客,原文链接:http://blog.51cto.com/aonaufly/2046979,如需转载请自行联系原作者

优秀的个人博客,低调大师

实施网络安全-C

1、开放系统互联(OSI)模型是一种根据网络与网络中其他元素进行通讯的方式抽象出网络结构的方式,OSI模型的主要目的是促进不同类型的网络产品和服务之间的无缝持续通讯。 2、OSI模型有7个层次: 第一层,物理层,定义了设备与物理传输媒介之间的连接,物理连接组件如电缆和电线以及基本网络设备,如集线器、中继器、交换机、适配器等的规范说明! 第二层,数据链路层,提供了两个之间连接的节点之间的链路,检测并修复物理层中的错误,点对点协议(PPP),提供节点之间的加密、认证和压缩的连接协议,G.hn! 第三层,网络层,使用唯一的地址,将数据从一个节点传输到多节点系统中的另一个节点中的协议,互联网协议(IP)、互联网控制消息协议(ICMP)、路由信息协议(RIP)! 第四层,传输层,为了更高的层次,控制网络节点之间的数据传输的可靠性,传输控制协议(TCP)、用户数据报协议(UDP)、流控制传输协议(SCTP)! 第五层,会话层,通过检查节点控制计算机之间的连接,使得被终止的连接可以恢复,网络文件系统(NFS)、套接字安全(socks)! 第六层,表示层,将数据转换为一种应用层上层的程序可以理解的格式,独立计算架构(ICA)! 第七层,应用层,通过确定资源和通讯要求,允许用户与软件之间进行交互,超文本传输协议(HTTP)、文件传输协议(FTP)、域名系统(DNS)! 本文转自 eth10 51CTO博客,原文链接:http://blog.51cto.com/eth10/1983424

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册