首页 > 编程语言 >c# 初级

c# 初级

时间:2023-09-16 17:35:05浏览次数:41  
标签:加密 字节 c# 对象 初级 引用 类型 序列化

值类型与引用类型

值类型与引用类型的区别在于,值类型存储在栈中,而引用类型存储在堆中。

  • 值类型:int、double、char、decimal、bool、enum、struct等。
  • 引用类型:string、数组、自定义类、集合、object、接口等。

值传递与引用传递

在方法调用中,值类型是将实际值传递给方法,引用类型是将引用(地址)传递给方法。

  • 值类型传递时传递的是值本身,对方法内部的修改不会影响原始值。
  • 引用类型传递的是对对象的引用,对方法内部的修改会影响原始对象。

using关键字

using关键字有两种用法:

  • using语句:定义一个范围,在范围结束时自动释放对象。通常用于管理资源,确保及时释放。
  • using指令:为命名空间创建别名,或导入其他命名空间中定义的类型。

序列化和反序列化

将对象转换为二进制数据的过程称为序列化,将二进制数据转换为对象的过程称为反序列化。主要用于网络传输和数据持久化。

  • 序列化:将对象转换为二进制表示形式。需要将需要序列化的类标记为可序列化,并使用BinaryFormatter类进行序列化操作。
  • 反序列化:将二进制数据转换为对象。同样使用BinaryFormatter类进行反序列化操作。

MD5加密

MD5是一种常用的加密算法,将数据加密成128位(16字节)的hash值。

  • 创建MD5对象,并将字符转换为字节数组。
  • 调用MD5对象的ComputeHash方法对字节数组进行加密,返回加密后的字节数组。
  • 将加密后的字节数组转换为字符串,得到加密结果。

标签:加密,字节,c#,对象,初级,引用,类型,序列化
From: https://www.cnblogs.com/alicia0/p/17707002.html

相关文章

  • CUDA memories
    GlobalThere'salargeamountofglobalmemory.It'sslowertoaccessthanothermemorylikesharedandregisters.AllrunningthreadscanreadandwriteglobalmemoryandsocantheCPU.ThefunctionscudaMalloc,cudaFree,cudaMemcpy,cud......
  • 前端学习笔记202309学习笔记第八十玖天-完善各个模块的reducer
     ......
  • 前端学习笔记202309学习笔记第八十玖天-react-redux-switch之3
    ......
  • 前端学习笔记202309学习笔记第八十玖天-react-redux-switch
     ......
  • C#实现SSH、SCP、FTP等操作
    C#实现SSH、SCP、FTP等操作C#没有自带的SSH、SCP、FTP等操作的方法库,自己编写又太麻烦,这里将使用第三方Renci.SshNet.dll动态链接库实现这些操作 一、获取RENCI.SSHNET.DLL 二、将RENCI.SSHNET.DLL添加进C#工程我使用visualstudio2015作为IDE,将Renci.SshNet.dll添加进......
  • atcoder313C
    313C题目概述:给定序列A,可以任选两个数,使其中一个数加1,另一个数减1.可以通过任意次操作,问需要至少多少次操作,才能使A中最大数和最小数差值不超过1。解题思路:将该题进行抽象转化:1.我们需要将A序列转化为B序列,sumB=sumA。操作次数为:\(\frac{\sum\limits_{i}^n|a_i-b_i|}{2}\)2......
  • The POM for com.xubo:service_base:jar:0.0.1-SNAPSHOT is missing, no dependency i
    报错信息[INFO]Scanningforprojects...[INFO][INFO]------------------------<com.xubo:service_edu>------------------------[INFO]Buildingservice_edu0.0.1-SNAPSHOT[INFO]--------------------------------[jar]---------------------------------[......
  • CF1827A
    CountingOrders题面翻译求有多少种重新排列\(a\)的方式,使得对于任意\(1\lei\len\),都满足\(a_i>b_i\),结果对\(10^9+7\)取模。\(1\len\le2\times10^5,1\lea_i,b_i\le10^9\),保证\(a_i\)互不相同。题目描述Youaregiventwoarrays$a$and$b$eachconsis......
  • XMind2TestCase安装问题
     安装完成了XMind2TestCase之后,在命令端检查安装是否成功,报错:C:\Users\Administrator>xmind2testcaseTraceback(mostrecentcalllast): File"C:\Softwares\Python\Scripts\xmind2testcase-script.py",line33,in<module> sys.exit(load_entry_point('......
  • easyexcel导出csv格式怎么分sheet页
    在EasyExcel中,导出CSV格式并分多个Sheet页的方式与导出Excel格式基本相同。以下是使用EasyExcel导出CSV并分Sheet页的示例代码:publicvoidexportToCsvWithMultipleSheets(List<List<String>>data,List<String>sheetNames){try(CSVWritercsvWriter=new......