首页 > 其他 > 详细

3.创建以及规范使用变量

时间:2021-03-11 17:36:02      阅读:31      评论:0      收藏:0      [点我收藏+]


二、如何创建及按规范使用变量

值类型与引用类型
值类型存储在栈(stack)上,值类型变量声明后,不管是否已经赋值,编译器为其分配内存。
整形、浮点型、布尔型、DateTime都是值类型。
引用类型的实际内容存储在堆(Heap)上,在栈上分配一小段内存作为指向堆上的地址(指针)。
String,集合等其他类型都是引用类型。

日期与数组类型概述
.net中的system.DateTime类型可以表示从0001/1/1 0:00:00到9999/12/31 23:59:59的日期与时间,且可以直接使用减号来进行时间上的计算
初始化DateTime:new DateTime(2020,2,6,14,30,0)
DateTime.now返回当天此时 和 DateTime.Today返回当天的0点0分0秒
获取当前时间:DateTime.Now
获取某一个日期是周几:myDate.DayOfWeek
DayOfWeek.Monday 表示日期格式的周一
获取某一年的某一月有多少天:myDate.DaysInMonth(2020,2)
通常用来计算某日到某日的天数差,如DateTime.DaysInMonth(2020,2)-DateTime.Today.Day计算出今天到月底的天数
判断某一年是否闰年:DateTime.IsLeapYear(2020)
获取某一个日期的15天之后/前的日期:myDate.AddDays(15) 或 myDate.AddDays(-15)
计算两个日期时间之间相隔的小时数:myDate.Subtract(myDate).TotalHours 或 myDate.Subtract(myDate).Hours
格式化日期输出:myDate.ToString("yyyy-MM-dd HH:mm:ss")
从字符串转换为DateTime:DateTime.ParseExact("三月/13/2020","MMMM/dd/yyyy",New System.Globalization.CultureInfo("zh-cn")).tostring("yyyy-MM-dd")
parse表示标准的时间格式使用,parseexact不标准的时间格式使用,第一个参数是传入的字符串时间,第二个参数是前面字符串的时间格式
四个M表示月份的全称,两个M表示数字形式的月份,三个M表示mar
格式化时间:Now.ToString("yyyy年MM月dd日 tt h:mm:ss", System.Globalization.CultureInfo.CreateSpecificCulture("zh-cn"))

String,List与Dictionary类型
.NET中的System.Array类型代表一个固定长度的数组,不能再增加或者减少元素,数组内的元素均属于同一种类型。
初始化一维数组:{1,2,3,4,5}或者New Int32(4){1,2,3,4,5}
如果数组只定义实例化,没有写具体元素,数组的每一个元素将作为每一种类型的默认值,如:
New Int32(4),里面的每一个值输出将为0,其他类型的将为其他类型的默认值,如空格,0.0,none,nothing,false等等。
修改数组中某个元素的值:myArray(2)=10 注意索引从0开始
获取数组的长度:myArray.Length
数组排序:Array.Sort(myArray)
数字将默认从大到小,别的类型按照别的方法排序。
字符串System.String是与文本相对应的数据类型。
初始化String:以双引号括住的内容皆为字符串,如:“Hello Uipath”
String其实是由一组System.Char(字符)组成的,String的构造函数有三个重载,
其中一种可以输入一个Char的数组来实例化字符串:New String(chars)//其中chars为System.Char的数组
字符Char是用双引号,后面再加一个小写的c来表示:如“A”c表示字符A
如果要实例化一个某字符重复多次的string,可以使用New String(“s”c,10),这样返回的字符串就是连续10个s
获取字符串的长度:myString.Length获取的其实是string里面char的个数,这个char是unicode字符,不是字节,
比如字符串“中国人”的Length是3而不是6,中文字符也是unicode字符的一种,一个中文字虽然占两个字节,但Length计算的是字符数而不是字节数。
如果要在字符串中使用双引号,则需要用两个双引号来进行表示,比如:“This is my ""dad""!”

字符串的常用操作
字符串有众多实例方法和静态方法,用来实现字符串的各种操作
字符串连接:
1、可以直接使用加号(+)将两个字符串连接起来形成一个新的字符串,如:"Hello"+"Uipath";
加号导致的是重新生成一个新的内存生成新的组合,如果经常性的重复加号操作,最好使用system.text.stringBuilder
2、可以使用string.Concat静态方法来实现字符串的连接,如:string.Concat("Hello","Uipath"),这个比加号的效率高一些
字符串截取:
使用Substring实例方法,从某个地方开始,截取某个长度的字符串,比如:"Hello Uipath".Substring(3,4)会返回一个字符串"lo U"
判断字符串是否包含特定的字符或者字符串:使用Contains实例方法:myStr.Contains("a")返回一个布尔值来指明字符串中是否包含字符串"a"
判断是否以某字符串开头/结尾:myStr.startwith("a")/myStr.endwith("a")
获取某个子字符串在字符串中的位置:使用indexOf实例方法:"Hello Uipath".indexOf("l")返回2,即第一个l的索引位置
将集合中的所有字符串连接起来并使用特定的字符串来分隔:使用string.Join静态方法:string.Join(",",{"Hello","Uipath","Good","Go"})将返回一个字符串"Hello,Uipath,Good,Go"
替换字符串中的内容:使用replace实例方法:"Hello World".Replace("World","Uipath")将返回字符串"Hello Uipath"
分割字符串:使用Split方法,将字符串根据指定的字符串来进行分割,并把分割的结果放到一个字符串数组里:
"Hello,Uipath,Good,Go".Split(","c)将返回一个字符串数组{"Hello","Uipath","Good","Go"}
split后面括号里第一个有六种重载,常用c或者string.splitoptions. (接一个枚举值,常用removeEmptyEntries)
判断字符串是否为空字符串:使用string.isNullOrEmpty静态方法,如:string.IsNullOrEmpty(myStr)将返回一个布尔值,指示myStr是否空字符串(即“”或string.Empty)
掐头去尾:使用Trim/TrimStar/TrimEnd实例方法来把字符串前后/前/后的特定的字符去掉,
如"aabbccaa".Trim("a"c)将返回"bbcc";"aabbccaa".TrimStart("a"c)将返回"bbccaa";"aabbccaa".TrimEnd("a"c)将返回"aabbcc"
字符串的补齐:使用PadLeft/PadRight实例方法来把字符串用特定的字符补齐到指定的长度,如:
“9”.PadLeft(4,"0"c)返回"0009",同理"9".PadRight(4,"0"c)返回"9000"
字符串的格式化:使用string.Format静态方法来格式化字符串的显示,如:String.Format("{0}地区2019年的增长率为{1:P}","中国",1.42)返回"中国地区2019年的增长率为142.00%"
所有类型都有ToString方法将对象转换成字符串,但是如果没有重写过ToString方法,返回的是对象的类型名称

List列表
List<T>,由相同的数据类型的对象(例如string或integer)组成的数据结构。每个对象在列表中都是有一个固定的位置;因此,可以通过索引进行访问。
不同于固定长度的数组,它可以方便的进行增删改里面的元素
初始化列表:New List(Of String)或者New List(Of String)({"123","456","789"})
往列表里增加新元素:使用Add To Collection Activity:
Add To Collection 属性:Collection myList
item 1
Private
TypeArgument int32
从列表里删除元素:使用Remove From Collection Activity:
Remove From Collection Activity 属性:Collection myList
item 1
Private
Result isSuccess (执行完成后返回是否执行成功,可填可不填)
TypeArgument int32
判断集合中是否存在某个元素:使用Exists In Collection:
Exists In Collection 属性:Collection myList
item 1
Private
Result isExists (执行完成后返回是否存在)
TypeArgument int32
清除集合:使用Clear Collection:
Clear Collection 属性:Collection myList
Private
TypeArgument int32

Dictionary字典
Dictionary<TKey,TValue>是(键,值)对的集合,其中键是唯一的
初始化字典:New Dictionary(Of String,Integer)
往字典里面增加新元素:
1、可以直接使用Assign Activity myDic("Jo")=36

2、使用invoke Method Activity TargetType (null)
TargetObject myDic
MethodName Add
移除字典项:直接调用Remove方法,可以放在Assign里进行调用,然后新建一个布尔类型的变量来指示是否已删除成功
Assign
isSuccess = myDic.Remove("Jo")
获取字典值:
1、myDic(key) //根据key来获取value
2、myDic.Count //键值对的数量
3、myDic.ContainsKey(key) //判断是否包含key,返回布尔值
4、myDic.TryGetValue(key,value) //尝试根据key获取value,如果成功则返回true,且value为获取到的值,
如果不成功则返回false,且value为空值


3.创建以及规范使用变量

原文:https://www.cnblogs.com/npr666/p/14516490.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!