5.15 随笔

今天C++期中上机考试 一道很简单的题目 建立一个模拟的堆栈  需要用到函数模板和类模

虽然没有学过但是也不至于做了3个小时都没有搞定  最后还是靠队友完成了

自信心受打击   发现自己真是太垃圾了  真的应该潜下来好好学习

现在每天都坚持跑步 俯卧撑 仰卧起坐 锻炼身体  练半小时以上的吉他  认真听课做作业 多看ASP.NET和C#方面的书  少玩游戏 尽量早睡早起开始正常的作息

希望能调整过来 重新回到好状态

学长说的挺好的  我们经常高估了一个月所能做的事而低估了四年所能做的事

希望自己能坚持  能做到   能对得起自己 对得起心爱的姑娘

矫情完毕  记一点今天看到的内容  比较浅显

属性

为了实现对数据的良好封装,C#为类提供了属性访问函数(简称属性,Property),主要用于控制对字段的访问

private string name;

public string Name//属性

{

get{return name;}

set{name=value;}

//{get;set;}

}

属性的典型用法是一个公有属性封装一个私有或保护字段

可以只读只写

索引函数

常用类型

Object类  是.NET类库中最顶层的积累,它提供了以下4个公有成员方法

string ToString()

Type GetType()//返回对象实际类型

bool Equal(Object obj)

int GetHashCode()

String类  表示字符串类型  它的索引函数时只读的  只提供了get访问函数

String(char[] v)

String(char c,int n)

String(char []v,int s,int n)

char[] v=new char[]{‘s‘,‘o‘,‘f‘,‘t‘,‘w‘,‘a‘,‘r‘,‘e‘};

string s1=new string(v);//s1="software"

string s2=new string(‘M‘,3);//s2="MMM"

string s3=new string(v,0,4);//s3="soft"

String类的ToCharArray方法用于将字符串转换为字符数组

CompareTo进行字符串比较  类似C中的strcmp()

字符操作

int IndexOf(char c);首次出现位置

int IndexOf(char c,int s);从第s个字符开始

int IndexOf(char c,int s,int n);从第s个字符开始,n个字符范围内查找

IndexOfAny 返回字符数组中任意一个字符在字符串中最后出现的位置

LastIndexOfAny

string Trim()

string Trim(char[] v)

string PadLeft(int n)

string PadLeft(int n,char c)

子串操作

IndexOf(...)

LastIndexOf(...)

Contains(...)

StartWith(...)

EndWith(...)

string SubString(int s,int n)

string Insert(int s,string v)

string Remove(int s)

string Remove(int s,int n)

Split方法用于将字符串分隔为一组子串

string s1 = "83,45,19,100";
char[] sep1 = { ‘,‘ };
string[] ss1 = s1.Split(sep1);
int[] x = new int[ss1.Length];
for (int i = 0; i < ss1.Length; i++)

{
x[i] = int.Parse(ss1[i]);
Console.WriteLine(x[i]);

}

结果为

83

45

19

100

格式化和解析

String.Format

格式化能将不同类型的对象转换为字符串格式;反之,从字符串出发来构造其对象的过程叫字符串解析

Parse  (可能发生异常)

TryFalse  decimal.TryParse("0X000",out d);//d=0

static void Main(string[] args)
{
ComplexNumber c1 = ComplexNumber.Parse("(50+100i)");
ComplexNumber c2;
ComplexNumber.TryParse("(100,300i)", out c2);
Console.WriteLine("{0}+{1}={2}", c1, c2, c1 + c2);
ComplexNumber.TryParse("(100+300i)", out c2);
Console.WriteLine("{0}+{1}={2}", c1, c2, c1 + c2);
Console.ReadLine();
}

}
public class ComplexNumber
{
public double A = 0, B = 0;
public ComplexNumber(double a, double b)
{
A = a;
B = b;
}
public static ComplexNumber operator +(ComplexNumber c1, ComplexNumber c2)
{
return new ComplexNumber(c1.A + c2.A, c1.B + c2.B);
}
public static ComplexNumber operator -(ComplexNumber c1, ComplexNumber c2)
{
return new ComplexNumber(c1.A - c2.A, c1.B - c2.B);
}
public static ComplexNumber Parse(string s)
{
if (s == null)
throw new ArgumentNullException();
s = s.ToUpper();
int pos1 = s.IndexOf(‘+‘);
int pos2 = s.IndexOf(‘I‘);
if (pos1 == -1 || pos2 == -1)
throw new FormatException("输入的字符串格式不正确");
double a = double.Parse(s.Substring(1, pos1 - 1));
double b = double.Parse(s.Substring(pos1 + 1, pos2 - pos1 - 1));
return new ComplexNumber(a, b);
}
public static bool TryParse(string s, out ComplexNumber c)
{
c = new ComplexNumber(0, 0);
if (s == null)
return false;
s = s.ToUpper();
int pos1 = s.IndexOf(‘+‘);
int pos2 = s.IndexOf(‘I‘);
if (pos1 == -1 || pos2 == -1)
return false;
string s1 = s.Substring(1, pos1 - 1);
string s2 = s.Substring(pos1 + 1, pos2 - pos1 - 1);
if (pos1 == -1 || pos2 == -1 || !double.TryParse(s1, out c.A) || !double.TryParse(s2, out c.B))
return false;
else
return true;
}
public override string ToString()
{
return String.Format("({0}+{1}i)", this.A, this.B);
}

StringBuilder类  改善字符串性能  返回的是当前对象  索引函数可读写

StringBuilder s1 = new StringBuilder();
s1.Append("公元");
s1.AppendFormat("{0}年{1}月{1}日", 2008, 8);
Console.WriteLine(s1.AppendLine());

时间: 2024-10-01 02:17:58

5.15 随笔的相关文章

6.15随笔

怎么向上取整.向下取整: 向上取整用Math.ceil(double a) 向下取整用Math.floor(double a) 怎么保留小数点后两位: 方法1:用Math.round计算,这里返回的数字格式的. float price=89.89; int itemNum=3; float totalPrice=price*itemNum; float num=(float)(Math.round(totalPrice*100)/100);//如果要求精确4位就*10000然后/10000 方法

2016.5.15 随笔————网页平面设计软件 Illustrator(Ai) 和 Photoshop(Ps) 简介

1. 矢量图 与 位图 矢量图: 矢量图在数学上定义为一系列由线连接的点. 矢量图是根据几何特征来绘制图形的,只能靠软件生成(现实中不存在) 文件占用空间较小,因为这种类型文件包含独立的分离图像,可以自由无限制的重新组合. 最重要的是:矢量图放大后不失真,这和分辨率无关,所以特别适用于图形设计.文字设计和一些标志设计.版式设计等. 个人理解: 矢量图是记录这个图像对象如何构成的一组数据, 所以无论在多大的画布上展现出来,它所呈现的样子都是按数据的构成方法去绘制的. 其构成上没有像素这个概念. 位

2016.5.15 随笔————查看class 的 Jad 反编译插件安装

本人用的 myeclipse 2014 1. 从网上下载 jad.exe 和 net.sf.jadclipse_3.3.0.jar 2. jad.exe 放在 jdk/bin 文件夹 net.sf.jadclipse_3.3.0.jar 放在 myeclipse 2014/ plugins 文件夹 3. 在myeclipse 的 Perference 中 JAD 4. 如果还不能查看可以查看 file association 4. 即可查看 class 源码 nice

连15随笔

其实时间过得真的很快,4个月,竟然过得如此之快,回顾了一下这4个月,真是可以用4个字来形容,醉生梦死,嘿嘿,但收获也是蛮大的,学了以前不敢想象的东西,虽然从不觉得自己学不会,但学会了又是另一番思想.好了回归话题,上个星期主要还是学习了SQLite数据库以及CoreData的使用还有真机调试和app的发布,哦,还有一点就是在面试的内容上还讲了很多,有一些是概念性的问题,有一些是平时自己能做的东西,还有一些是需要去记住的东西,总之,感觉要毕业了,之后要学习的东西反而更多,真是应正了学无止境,但不同的

11.15随笔

html : typertext markup language 超文本标记语言 特点: 每个标记都是特别的含义,便于浏览器识别和展示; 为了浏览器的识别,标记的写法是固定的,不能改变 xml :  (Extensible Markup Language, XML) 可扩展标记语言  所有语言都支持,可以当成一个小型的数据库.远程通讯手段,因为任何语言都可解析xml. 用来传输和存储数据 <?xml version="1.0" encoding="utf-8"

JAVA基础学习-集合三-Map、HashMap,TreeMap与常用API

一.Map简述 1.1.简述 public interface Map<K,V> 类型参数: K - 此映射所维护的键的类型 key V - 映射值的类型 value 该集合提供键--值的映射.key不能重复,一对对的存储方式 将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值. 1.2.方法 嵌套类摘要 static interface Map.Entry<K,V> 映射项(键-值对). 方法摘要 void clear() 从此映射中移除所有映射关系(可选操

一周随笔--15.11.02

一周新知识点记录(15.11.02) 一.storyboard中搭建tableViewCell 在storyboard中搭建tableView,一种是以UITableViewController为容器,另一种则是以UIViewController为容器,拖出一个tableView来. 当以UITableViewController为容器时,UITableViewCell可以是动态也可以是静态的,若是静态的则控制器可以不关联文件.(具体待验证)http://m.blog.csdn.net/blog

一周随笔--15.9.21

一周新知识点记录(15.9.21) 一. writeToFile:atomically: - (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile; 第二个参数的意思是: 如果为YES则保证文件的写入原子性,就是说会先创建一个临时文件,直到文件内容写入成功再导入到目标文件里. 如果为NO,则直接写入目标文件里. 二.  NSerror 参数依次为: 1.错误域(NSString) 2.错误标识 (NSIntege

一周随笔--15.10.27

一周新知识点记录(15.10.27) 一.不规则按钮OBShapedButton 常规按钮都是一个矩形区域,即使设置了按钮layer的cornerRadious,能响应点击事件的依旧是整个矩形区域. OBShapedButton是开源的第三方库,直接继承自UIButton,直接使用即可.它的响应区域只限定在button的图片或者背景图片区域,周围空出的区域无法响应. 二.sendActionsForControlEvents UIButton的实例方法,通过代码手动发送按钮的点击事件触发按钮的响