关于c#的基础知识
建立新工程
选择控制台应用 .NET Framework
选择路径并且选择框架4.6
关于简单语法的输出语句
//通过字符串拼接输出
Console.WriteLine("编号" + courseId + "名称" + courseName);
//使用占位符格式化输出
Console.WriteLine("编号:{0},名称:{1}", courseId, courseName);
//使用4.6版本的语法糖
Console.WriteLine($"编号:{courseId} ,名称{courseName}");
if选择结构,逻辑运算符,switch
Console.WriteLine("输入总金额");
int totalMoney = int.Parse(Console.ReadLine()); //读取完之后转换为int类型,因为他是字符串类型
//再使用if条件做出判断
if (totalMoney >= 1000)
{
Console.WriteLine("今天你又干饭了吗");
}
运算符优先级:
Console.WriteLine("笔试成绩:");
int writtenexam = int.Parse(Console.ReadLine());
Console.WriteLine("口语成绩");
int sayexam = int.Parse(Console.ReadLine());
if (writtenexam > 80 && sayexam > 90)
{
Console.WriteLine("good");
}
if ((writtenexam == 100 && sayexam > 60) || (sayexam == 100 && writtenexam > 60))
{
Console.WriteLine("棒极了");
}
在这里插入图片描述
知识小结
1.掌握常见关系运算符、逻辑运算符
2.掌握if-else选择结构
3.掌握三元运算符使用
switch:
Console.WriteLine("选择你的选项");
string choice = Console.ReadLine();
switch (choice)
{
case "a":
Console.WriteLine("睡觉");
break;
case "b":
Console.WriteLine("干饭");
break;
case "c":
Console.WriteLine("学习");
break;
default:
Console.WriteLine("啥也不是");
break;
}
*接单来说此片很简单,和c学习差不多。
IndexOf方法的使用
static void Test1()
{
string email = "110120@qq.com";
int position = email.IndexOf("@");
int position1 = email.IndexOf("qq.com");
int position2 = email.IndexOf("qq.com1"); //找不到就是-1可以通过右击(转到定义)到搜寻
int position3 = email.IndexOf("q");
int lenght = email.Length;//获取字符串的长度 是一个属性
Console.WriteLine("@所在位置索引:" + position);
}
最后得到的字符串长度为13,此函数用来检索具体的字符所在类似于c语言中数组下标的位置。
Substring方法的使用
static void Test2()
{
string email = "xuexi@qq.com";
string userName = email.Substring(0, 9);//截取相应长度的字符串 xuexi@qq.
string userName1 = email.Substring(0, email.IndexOf("@"));
string userName2 = email.Substring(9); //com
Console.WriteLine("邮箱用户名:" + userName);
}
此函数用来截取相应长度的字符串,具体函数功能可以单击此函数F11查看相关内容
Format用于格式化了解即可。
空字符串的使用方法和区别
上下两者都能赋空字符串,但是下面的用console.writrline会出错,因为对象不存在
string name = "";
string name1 = string.Empty;
Console.WriteLine(name == name1);//true
string name2 = string.Empty;
string name3 = null;
Console.WriteLine(name2 == name3);//false
若编译一下代码Console.WriteLine(name2.Length);
会发现报错如下图
这个报错也是许多开发者经常遇到的报错,原因是赋了一个对象不存在的空值
关于内存浪费问题剖析
对应的代码每次都会修改相应的strtext,但是本质是重新开辟了新的空间,所以多次条用strtext会造成内存浪费
对应的解决方案使用StringBuilder
初学者学会append就好
StringBuilder builder = new StringBuilder("我正在");
builder.Append("csdn");
builder.Append("上面work");
string info = builder.ToString();//将对象转换为字符串调用出来赋值
Console.WriteLine(info);
我正在csdn上面work
c#数组使用
int[] a1 = new int[3] { 67, 89, 78 };
int[] a2 = new int[] { 67, 89, 78 };
int[] a3 = { 67, 89, 78 };
int[] a = new int[] { 67, 89, 78, 69, 95 };
可以像以上这么定义
foreach循环结构遍历数组
foreach (int score in netScore)
{
sumScore += score;
}
图中的score可以为任意定义的字符