C#学习笔记(九):函数、代码查询和调试
代码查询和调试
代码查询



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Text.RegularExpressions;
namespace m1w2d6_debug
{
struct Point2d
{
}
class Program
{
static void Main(string[] args)
{
#region 代码查询
//查询类型
//右键点击需要查询的类型,选择转到定义
//将鼠标悬停在对应的方法上
//可以知道这个方法的返回值和参数,还可以知道他是否有不同的重载
Point2d p = new Point2d();
String s = " 字符串 ";
//类名调用方法 如果定义中 有static关键字 就是用类名调用的方法
bool isNull = string.IsNullOrEmpty(s);//string 和 String 特殊的系统类型的别称
Console.WriteLine(isNull ? "是空串" : "不是空串");
//变量调用方法 如果定义中 没有static关键字 就是用变量调用方法
Console.WriteLine(s.Length);
Console.WriteLine(s);
s = s.Trim();
Console.WriteLine(s.Length);
Console.WriteLine(s);
//看API学习Split(重载)和SubString方法
//String.Split 方法有6个重载函数:
string str = "attack,defend,health,speed";
char[] chars = { '' };
//1、用字符串分隔:
string str1 = "aaajsbbbjsccc";
string[] sArray1 = Regex.Split(str1, "js", RegexOptions.IgnoreCase);
foreach (string i in sArray1) Console.Write(i.ToString() + "\r\n");
Console.WriteLine("\r\n");
//输出结果:
//aaa
//bbb
//ccc
//2、用多个字符来分隔:
string str2 = "aaajbbbscccjdddseee";
string[] sArray2 = str2.Split(new char[] { 'j', 's' });
foreach (string i in sArray2) Console.Write(i.ToString() + "\r\n");
Console.WriteLine("\r\n");
//输出结果:
//aaa
//bbb
//ccc
//ddd
//eee
//3、用单个字符来分隔:
string str3 = "aaajbbbjccc";
string[] sArray3 = str3.Split('j');
foreach (string i in sArray3) Console.Write(i.ToString() + "\r\n");
Console.WriteLine("\r\n");
//输出结果:
//aaa
//bbb
//ccc
//SubString 方法:
//程序代码
//程序代码
string str = "abcdefgh";
Response.Write(str.Substring(, ));//return:a
Response.Write(str.Substring(, ));//return:cde
Response.Write(str.Substring(, ));//return:h
Response.Write(str.Substring());//return:h
Response.Write(str.Substring());//error:startIndex 不能大于字符串长度。
Response.Write(str.Substring(, ));//error:索引和长度必须引用该字符串内的位置。
#endregion
#region 代码调试
//
int count = ;
while (true)
{
Console.WriteLine(count++);
Console.WriteLine("我要学好C#");
}
#endregion
}
}
}
代码调试



打开调试窗口

函数


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace m1w2d6_function_flyingchess
{
class Program
{
//比较两个数字的大小,返回最大值。
//对 两个数字 做 比大小 ,要最大的那个
static int GetMax(int a, int b)//要在主函数中使用,主函数是static,所以要加static
{
return a > b ? a : b;
}
//写一个方法,判定你传入的参数是不是质数。
//对 对谁(参数) 做什么(函数体) 结果如何(返回类型)
//对 一个数 判定是否是质数 告诉我是或者不是(打印,返回)
static void GetNum(int num)
{
for (int i = ; i < num; i++)
{
if (num%i==)
{
Console.WriteLine("不是质数");
}
}
Console.WriteLine("是质数");
}
static void GetNum1(int num)
{
for (int i = ; i < num; i++)
{
if (num % i == )
{
Console.WriteLine("{0}不是质数", i);
}
Console.WriteLine("{0}是质数", i);
}
}
//圆的周长和面积
static float[] GetCircle(int r)
{
float PI = 3.1415926f;
float area = r * r * PI;
float perimeter = * r * PI;
float[] array = new float[] { area, perimeter };
return (array);
}
//数组计算
static void GetArray(int[] array)
{
float sum = 0f;
int max = ;
int min = ;
float average = 0f;
for (int i = ; i < array.Length - ; i++)
{
sum += array[i];
if (array[i] > max)
{
max = array[i];
}
else if (array[i] < min)
{
min = array[i];
}
average = sum / array.Length - ;
}
Console.WriteLine("总和是{0}", sum);
Console.WriteLine("最大是{0}", max);
Console.WriteLine("最小是{0}", min);
Console.WriteLine("平均是{0}", average);
}
//数组排序
static int[] GetArrayRank(int[] array)
{
for (int i = ; i < array.Length - ; i++)
{
for (int j = ; j < array.Length - - i; j++)
{
if (array[j] > array[j + ])
{
int temp = array[j];
array[j] = array[j + ];
array[j + ] = temp;
}
}
}
return array;
}
//判断闰年
static void GetYear(int year)
{
while (true)
{
if (year % == || year % == && year % != )
{
Console.WriteLine("是闰年");break;
}
}
}
static void Main(string[] args)
{
//函数是对逻辑(语句序列)的封装,方便以后重复使用
//函数的签名{函数体}
//指令逻辑(什么指令) 对谁(参数) 做什么(函数体) 结果如何(返回类型)
//参数 可以是任意类型
//函数体 可以是任意语句
//返回类型 可以是任意类型 void(无返回类型)
//如果指定了返回类型 必须有相应的返回值
//使用return可以返回一个值,并结束函数
//如果你使用了void,也可以使用return,这时,他不再返回值,但结束函数
//返回类型 函数名 (参数列表)
//{
// 函数体
//}
int max = GetMax(, );//函数如果有返回类型,你可以直接使用函数返回值
Console.WriteLine(max);
//void无返回值
GetNum();
GetNum1();
//圆的周长和面积
float[] sArray1 = new float[];
sArray1 = GetCircle();
foreach (float i in sArray1) Console.Write(i.ToString() + "\r\n");
//数组计算
int[] sArray2 = new int[] { , , , };
GetArray(sArray2);
//数组排序
int[] sArray3 = new int[] { , , , , , , , , , };
foreach (float i in sArray3) Console.Write(i.ToString() + "\t");
Console.WriteLine("\r\n");
sArray3 = GetArrayRank(sArray3);
foreach (float i in sArray3) Console.Write(i.ToString() + "\t");
Console.WriteLine("\r\n");
//判断闰年
int year = int.Parse(Console.ReadLine());
GetYear(year); }
}
}
C#学习笔记(九):函数、代码查询和调试的更多相关文章
- python学习笔记(九)函数返回多个值,列表生成式,循环多个变量,入参格式声明
一.函数返回多个值 1.函数如果返回多个值的话,它会把这几个值放到一个元组里面2.函数如果返回多个值的话,也可以用多个变量来接收 def say(): num1 = num2 = num3 = ret ...
- python学习笔记(九)-函数2
交换两个变量的值 a = 2 b = 1 b = 1 a = 2 #方式一: b,a = a,b #交换两个变量的值 print(a,b) #方式二: a = a + b #3 b = a - b # ...
- swift学习笔记2——函数、闭包
之前学习swift时的个人笔记,根据github:the-swift-programming-language-in-chinese学习.总结,将重要的内容提取,加以理解后整理为学习笔记,方便以后查询 ...
- MDX导航结构层次:《Microsoft SQL Server 2008 MDX Step by Step》学习笔记九
<Microsoft SQL Server 2008 MDX Step by Step>学习笔记九:导航结构层次 SQL Server 2008中SQL应用系列及BI笔记系列--目录索 ...
- go微服务框架kratos学习笔记九(kratos 全链路追踪 zipkin)
目录 go微服务框架kratos学习笔记九(kratos 全链路追踪 zipkin) zipkin使用demo 数据持久化 go微服务框架kratos学习笔记九(kratos 全链路追踪 zipkin ...
- matlab学习笔记 bsxfun函数
matlab学习笔记 bsxfun函数 最近总是遇到 bsxfun这个函数,前几次因为无关紧要只是大概看了一下函数体去对比结果,今天再一次遇见了这个函数,想想还是有必要掌握的,遂查了些资料总结如下. ...
- SQL反模式学习笔记18 减少SQL查询数据,避免使用一条SQL语句解决复杂问题
目标:减少SQL查询数据,避免使用一条SQL语句解决复杂问题 反模式:视图使用一步操作,单个SQL语句解决复杂问题 使用一个查询来获得所有结果的最常见后果就是产生了一个笛卡尔积.导致查询性能降低. 如 ...
- jQuery 学习笔记:jQuery 代码结构
jQuery 学习笔记:jQuery 代码结构 这是我学习 jQuery 过程中整理的笔记,这一部分主要包括 jQuery 的代码最外层的结构,写出来整理自己的学习成果,有错误欢迎指出. jQuery ...
- matlab学习笔记13_1 函数返回值
一起来学matlab-matlab学习笔记13函数 13_1 函数返回值 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 https://blog.csdn.net/qq_36556 ...
随机推荐
- 十天精通CSS3(9)
Keyframes介绍 Keyframes被称为关键帧,其类似于Flash中的关键帧.在CSS3中其主要以“@keyframes”开头,后面紧跟着是动画名称加上一对花括号“{…}”,括号中就是一些不同 ...
- Sqoop导入HBase,并借助Coprocessor协处理器同步索引到ES
1.环境 Mysql 5.6 Sqoop 1.4.6 Hadoop 2.5.2 HBase 0.98 Elasticsearch 2.3.5 2.安装(略过) 3.HBase Coprocessor实 ...
- python3中替换python2中cmp函数
python 3.4.3 的版本中已经没有cmp函数,被operator模块代替,在交互模式下使用时,需要导入模块. 在没有导入模块情况下,会出现 提示找不到cmp函数了,那么在python3中该如何 ...
- [LeetCode] 196. Delete Duplicate Emails_Easy tag: SQL
Write a SQL query to delete all duplicate email entries in a table named Person, keeping only unique ...
- 国内maven库
国内maven库 <mirrors> <mirror> <id>CN</id> <name>OSChina Central</name ...
- testng入门教程10 TestNG参数化测试
在TestNG的另一个有趣的功能是参数测试.在大多数情况下,你会遇到这样一个场景,业务逻辑需要一个巨大的不同数量的测试.参数测试,允许开发人员运行同样的测试,一遍又一遍使用不同的值. TestNG让你 ...
- C语言进阶之路(三)----野指针的产生原因及解决办法
1.会产生野指针的做法 #include <stdio.h> //这就是一种错误的写法 int main(){ int *p = NULL; p = (); //释放P所指向的内存空间,但 ...
- ACM 未解决的问题
还没有搞定的ACM问题列表. google code jam Round1A Round1B Round1C Round2 Round3 Onsite Finals 百度之星 一.资格赛题目: dis ...
- CE寻找游戏基址
什么是游戏基址? 游戏基址是保持恒定的两部分内存地址的一部分并提供一个基准点,从这里可以计算一个字节数据的位置.基址伴随着一个加到基上的偏移值来确定信息准确的位置(绝对地址). 全局基址 一级基址 二 ...
- Hive 大数据倾斜总结
在做Shuffle阶段的优化过程中,遇 到了数据倾斜的问题,造成了对一些情况下优化效果不明显.主要是因为在Job完成后的所得到的Counters是整个Job的总和,优化是基于这些 Counters得出 ...