对VS2012的理解

1、导入命名空间
命名空间就是类的"文件夹"。类就是"文件夹"中的文件。需要导入命名空间
添加引用:
如果我需要在一个项目中,访问另一个项目中的某一个类
--->添加对另一个项目的引用
--->导入命名空间

2、静态和非静态
静态成员:被static修饰
实例成员:不被static修饰
静态成员先于实例成员被加载到内存中,只有创建了对象,才有实例成员。
静态类中只能存在静态成员
调用:
静态成员调用:
类名.静态成员名;
实例成员调用:
实例名.实例成员;(实例就是我们的对象)
什么时候使用静态?
---->作为工具类
---->在整个项目中资源共享,正因为它是资源共享的,所以静态成员必须要等到整个项目都结束的时候
才会被资源释放。
在我们的项目中应该尽可能的少使用静态成员。
继承是创建对象的过程。

3、类库
.dll文件,我们使用类库来帮助我们封装一些常用的功能

4、值类型和引用类型
值类型:int double char bool decimal struct enum
引用类型:string 数组 自定义类 接口 委托

值类型的值存储在内存的栈上,引用类型的值存储在堆中。
栈上存储数据的效率要高于堆。

值传递:把值类型作为参数传递,把值本身进行传递。
注意:
ref可以把值传递改变为引用传递。
引用传递:把引用类型的值作为参数传递,传递的是引用。

5、字符串的学习
重要特性:
不可变性,我们不管对字符串做什么操作,都会在内存中产生一块新的实例。
驻留池
我们可以将一个字符串看作是char类型的只读数组。

字符串常用类的学习

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace _09字符串的常用方法
{
class Program
{
static void Main(string[] args)
{
//string s = null;
//if (string.IsNullOrEmpty(s))
//{
// Console.WriteLine("是的");
//}
//else
//{
// Console.WriteLine("不是");
//} //string str = "abcdefg"; //Console.WriteLine(str[5]);
//Console.ReadKey();
//char[] chs = str.ToCharArray();
//chs[2] = 'z';
//foreach (char item in chs)
//{
// Console.WriteLine(item);
//}
////char数组---->字符串
//str = new string(chs); //string str = "abCDEfg";
//Console.WriteLine(str.ToUpper());
//Console.WriteLine(str.ToLower()); //string s1 = "aBc";
//string s2 = "Abc";
//if (s1 == s2)
//{
// Console.WriteLine("相等");
//}
//else
//{
// Console.WriteLine("不相等");
//}
//Console.ReadKey(); //if (s1.Equals(s2))
//{
// Console.WriteLine("相等");
//}
//else
//{
// Console.WriteLine("不相等");
//}
//Console.ReadKey();
//Console.ReadKey(); //string str = "老毕吃了一顿饭,结果老毕火了";
////int index = str.IndexOf("老",11);
////Console.WriteLine(index);
//int index = str.LastIndexOf("123");
//Console.WriteLine(index);
//Console.ReadKey(); //string str = "老毕吃了一顿饭,结果老毕火了";
//int index = str.IndexOf(",");
//string strNew = str.Substring(index + 1);
//Console.WriteLine(strNew); //string str = "张 ,,--三 ,李,,--四 a ";
//string[] strNew = str.Split(new char[] { ',', ' ', '-' },StringSplitOptions.RemoveEmptyEntries);
////字符串--->char类型的数组 ToCharArray()
////字符串--->string类型的数组
//Console.ReadKey(); //Trim() TrimEnd() TrimStart() //string s = " 张 ,,,-- 三 ,,,-- "; //Console.Write(s.Trim(' ',',','-')); //string[] names = { "金秀贤", "金贤秀", "金正日", "金正恩" };
////金秀贤|金贤秀|金正日|金正恩 //string res = string.Join("|", 'c', "张三", 100, 3.14, true, 5000m);
//Console.WriteLine(res);
//Console.ReadKey();
//string res = string.Empty;
//for (int i = 0; i < names.Length - 1; i++)
//{
// res += names[i] + "|";
//}
//Console.WriteLine(res + names[names.Length - 1]); Console.WriteLine("请输入你要回复的内容");
string contents = Console.ReadLine();
//判断contents中是否包含敏感词
if (contents.Contains("老赵"))
{
contents = contents.Replace("老赵", "****");
}
Console.WriteLine(contents);
Console.ReadKey();
}
}
}

字符串的比较

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace _10等号和Equals的区别
{
class Program
{
static void Main(string[] args)
{
//对于string类型而言,不管是等号还是Equals比较的都是值本身。
//Equals默认比较的是地址,但是我们在自己定义的类中如果用到Equals,都会将Equals进行重写,使之按照我们自己的需求进行比较
Person p1 = new Person() { Name = "刘德华", Age = };
Person p2 = new Person() { Name = "刘德华", Age = };
if (p1.Equals(p2))
{
Console.WriteLine("相等");
}
else
{
Console.WriteLine("不相等");
} if (p1==p2)
{
Console.WriteLine("相等");
}
else
{
Console.WriteLine("不相等");
} string a = "a";
string b = "a"; if (a.Equals(b))
{
Console.WriteLine("相等");
}
else
{
Console.WriteLine("不相等");
} if (a==b)
{
Console.WriteLine("相等");
}
else
{
Console.WriteLine("不相等");
} // Console.WriteLine(p1.ToString());//这个对象所在的类的命名空间 // Console.WriteLine(p2.ToString());
//StringBuilder sb = new StringBuilder();
//sb.Append("123");
//sb.Append("张三");
//Console.WriteLine(sb.ToString());
Console.ReadKey();
}
} class Person
{
public string Name { get; set; }
public int Age { get; set; } public override bool Equals(object obj)
{
Person person = obj as Person;
if (this.Name == person.Name && this.Age == person.Age)
{
return true;
}
else
{
return false;
}
} public override int GetHashCode()
{
return base.GetHashCode();
} public override string ToString()
{
return "哈哈哈,我是被重写的ToString()";
} }
}

c#基础二的更多相关文章

  1. Python全栈开发【基础二】

    Python全栈开发[基础二] 本节内容: Python 运算符(算术运算.比较运算.赋值运算.逻辑运算.成员运算) 基本数据类型(数字.布尔值.字符串.列表.元组.字典) 其他(编码,range,f ...

  2. Bootstrap <基础二十九>面板(Panels)

    Bootstrap 面板(Panels).面板组件用于把 DOM 组件插入到一个盒子中.创建一个基本的面板,只需要向 <div> 元素添加 class .panel 和 class .pa ...

  3. Bootstrap <基础二十八>列表组

    列表组.列表组件用于以列表形式呈现复杂的和自定义的内容.创建一个基本的列表组的步骤如下: 向元素 <ul> 添加 class .list-group. 向 <li> 添加 cl ...

  4. Bootstrap<基础二十七> 多媒体对象(Media Object)

    Bootstrap 中的多媒体对象(Media Object).这些抽象的对象样式用于创建各种类型的组件(比如:博客评论),我们可以在组件中使用图文混排,图像可以左对齐或者右对齐.媒体对象可以用更少的 ...

  5. Bootstrap <基础二十六>进度条

    Bootstrap 进度条.在本教程中,你将看到如何使用 Bootstrap 创建加载.重定向或动作状态的进度条. Bootstrap 进度条使用 CSS3 过渡和动画来获得该效果.Internet ...

  6. Bootstrap <基础二十五>警告(Alerts)

    警告(Alerts)以及 Bootstrap 所提供的用于警告的 class.警告(Alerts)向用户提供了一种定义消息样式的方式.它们为典型的用户操作提供了上下文信息反馈. 您可以为警告框添加一个 ...

  7. Bootstrap<基础二十四> 缩略图

    Bootstrap 缩略图.大多数站点都需要在网格中布局图像.视频.文本等.Bootstrap 通过缩略图为此提供了一种简便的方式.使用 Bootstrap 创建缩略图的步骤如下: 在图像周围添加带有 ...

  8. Bootstrap <基础二十三>页面标题(Page Header)

    页面标题(Page Header)是个不错的功能,它会在网页标题四周添加适当的间距.当一个网页中有多个标题且每个标题之间需要添加一定的间距时,页面标题这个功能就显得特别有用.如需使用页面标题(Page ...

  9. Bootstrap <基础二十二>超大屏幕(Jumbotron)

    Bootstrap 支持的另一个特性,超大屏幕(Jumbotron).顾名思义该组件可以增加标题的大小,并为登陆页面内容添加更多的外边距(margin).使用超大屏幕(Jumbotron)的步骤如下: ...

  10. Bootstrap <基础二十一>徽章(Badges)

    Bootstrap 徽章(Badges).徽章与标签相似,主要的区别在于徽章的边角更加圆滑. 徽章(Badges)主要用于突出显示新的或未读的项.如需使用徽章,只需要把 <span class= ...

随机推荐

  1. aravel 之父 Taylor Otwell :我是如何工作的

    知名 PHP Web 开发框架 Laravel 之父 Taylor Otwell 发文描述了自己的日常工作状态:全职做 Laravel ,朝八晚五,使用 Sublime Text 3 写代码,终端使用 ...

  2. linux命令行模式下实现代理上网 专题

    有些公司的局域网环境,例如我们公司的只允许使用代理上网,图形界面的很好解决就设置一下浏览器的代理就好了,但是linux纯命令行的界面就....下面简单几步就可以实现了! 一.命令行界面的一般代理设置方 ...

  3. LINQ查询表达式---------let子句

    LINQ查询表达式---------let子句 let子句创建一个范围变量来存储结果,变量被创建后,不能修改或把其他表达式的结果重新赋值给它.此范围变量可以再后续的LINQ子句中使用. class P ...

  4. Tensorflow数据读取机制

    展示如何将数据输入到计算图中 Dataset可以看作是相同类型"元素"的有序列表,在实际使用时,单个元素可以是向量.字符串.图片甚至是tuple或dict. 数据集对象实例化: d ...

  5. DateTimeToGreenUnix

    @暗夜魔尊 { Unix date conversion support with time-zone detect } function DateTimeToGreenUnix(const AVal ...

  6. Qt云服务/云计算平台QTC(Qt Cloud Services)入门(0)

    在这个“大数据”的时代,传统的跨平台C++库Qt已经将魔爪丧心病狂的伸向了“云计算”.在2012年的Qt开发者大会上,Qt发布了BaaS(Backend as a Service)服务——Engini ...

  7. 京东sdk商家上架接口调用问题总结

    前言: 最近在做商家发布产品,调用京东sdk,发现问题很多,而且还是在我同事的帮助下完成的,摸索中,菜鸟还请高手门多多提携才好,入正题 首先是引用jd的sdk啦,京东sdk中发布商品需要调用一个 36 ...

  8. 配置我的Ubuntu Server记(包括桌面及VNC,SSH,NTP,NFS服务) good

    跟老板申请买了一台配置相对较好的计算机回来做GPU计算,当然,不能独享,所以做成服务器让大家都来用. 这篇日志用来记录配置过程中遇到的一些问题,以方便下次不需要到处谷歌度娘. 安装Server版系统 ...

  9. GetLastError()返回值列表(3259个错误列表)

    GetLastError()返回值列表: [0]-操作成功完成. [1]-功能错误. [2]-系统找不到指定的文件. [3]-系统找不到指定的路径. [4]-系统无法打开文件. [5]-拒绝访问. [ ...

  10. win7、win8客户端 连接win2003上的sqlserver2005 速度超慢

    解决办法:开始运行,执行netsh interface tcp set global rss=disabled autotuninglevel=disabled.关闭TCP/IP协议的自动调谐功能.