C#中的方法,方法的重载,以及几个关键字
嘿嘿,今天来的早点啦,主要有问题解决不了,希望看到的亲们知道怎么整的给我说下,先谢谢哦:-D
<一>首先复习了三元表达式:即 表达式1,表达式2,表达式3;
举例: bool result = 5 > 3 ? true : false;
<二>随机数的产生,这个话说用的不多吧,但是还是知道的好 即:
Random r=new Random();
Int number=r.Next(,);产生1-10的数
这就是一方法吧,感觉挺好玩的,可以试下。
<三>然后学习了方法,我在云和学院学习,在这老师给我们的理解是:方法就是将一堆代码进行重用的一种机制。方法就是一段代码,这段代码可能有输入的值(参数),可能会返回值。一个方法就像一个专门做这件事的人,我们调用它来做一些事情,它可能需要我们提供一些数据给它,它执行完成后可能会有一些执行结果给我们。要求的数据就叫参数,返回的执行结果就是返回值。由于我们现在了解的还不多,所以老师只能简单的让我们了解了···
方法的定义:看见static就是静态方法
[访问修饰符] [static] 返回值类型 方法名()
{
方法体;
}
今天也学习了几个实例,但是我写下我做的练习吧
(1)重复让用户输入一个数,判断该数是否是质数,输入q结束?质数的判断用方法来实现bool IsPrime(int number)
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入一个数字:");
int nums = int.Parse(Console.ReadLine());
IsPrime(nums);
Console.WriteLine(IsPrime(nums));
Console.ReadKey();
}
public static bool IsPrime(int num)
{
int s=;
string nums = string.Empty;
bool flag = false;
for (int i = ; i < s; i++)
{
flag = s % i == ;
if (nums == "q")
{
break;
}
}
Console.WriteLine("这是一个质数");
return false;
}
}
在方法IsPrime中,需要把num转换成string,就是这句string nums = string.Empty;不知道该怎么改写,导致最后输出的不对,很纠结···
(2)用方法实现找出一个int类型数组中最大值和最小值
class Program
{
static void Main(string[] args)
{
int[] nums ={, , , , , , , , , };
int num = Max(nums);
int num0 = Min(nums);
Console.WriteLine("最大的值{0}",num);
Console.WriteLine("最小的值{0}", num0);
Console.ReadKey();
}
/// <summary>
/// 最大值
/// </summary>
/// <param name="arrey"></param>
/// <returns></returns>
public static int Max(int[] arrey)
{
int max = ;
for (int i = ; i < arrey.Length; i++)
{
if (max < arrey[i])
{
max = arrey[i];
}
}
return max;
}
/// <summary>
/// 最小值
/// </summary>
/// <param name="arrey"></param>
/// <returns></returns>
public static int Min(int[] arrey)
{
int min = ;
for (int i = ; i < arrey.Length; i++)
{
if (min > arrey[i])
{
min = arrey[i];
}
}
return min;
}
}
这个方法比较简单,写方法比较简单,调用起来也没有好多搞不清楚让人晕的感觉。。。所以感觉自己还是需要多努力,多写几个方法调用练习啦···
(3)用户只能输入0到100之间的数写一个方法否则提示超出范围
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入一个数字:");
int num = int.Parse(Console.ReadLine());
Int(num);
Console.WriteLine(num);
Console.ReadKey();
}
public static int Int(int integ)
{
if (integ < || integ > )
{
Console.WriteLine("超出范围");
}
return integ;
}
}
这个题也没有太难啦,所以就直接写出来啦···
(4)将一个字符串数组输出为|分割的形式,比如“梅西|卡卡|郑大世”(用方法来实现此功能)
class Program
{
static void Main(string[] args)
{
string[] nums = {"梅西","卡卡","郑大世" };
Console.WriteLine(Dividing(nums));
Console.ReadKey();
}
public static string Dividing(string[] array)
{
string name = string.Empty;
for (int i = ; i <array.Length; i++)
{
name += "|" + array[i];
}
return name;
}
}
这故事添加分隔符的,还可以啦,能写啦,嘿嘿····
这些都是今天的练习题,明天上课老师会讲的,但是我还是像现在搞懂啦,希望能够帮我拉······
<四>方法的重载,需要注意的是:方法名相同,但是可以是方法的方法的参数个数不同或者方法的类型不同···(这个对我自己说的,在方法中,返回值类型与参数的类型没有关系···),还有就是返回值类型不同不能定义同方法名的方法··········
举例看下:
这些 可以看到方法的重载的实例·········
<五> 关键字out和ref,举例如下:
(1)
class Program
{
static void Main(string[] args)
{
int x = ; Add(ref x);
Console.WriteLine(x); Console.ReadKey();
} static int Add(ref int x)
{
x++;//被赋值一份后传进来的值
return x;
}
(2)
class Program
{
static void Main(string[] args)
{
int[] Array = {,,,,, };
int max;
Max(Array,out max);
Console.WriteLine(max);
Console.ReadKey(); } static void Max(int[] Array,out int max)
{ int m = ;
for (int i = ; i < Array.Length; i++)
{ if (Array[i] > m)
{
m = Array[i];
} }
max = m; }
}
这两个关键字很重要哦(⊙o⊙)… 而且老师也告诉我们说要记得额··········今天就写到这啦,还要好多问题要解决啦········
C#中的方法,方法的重载,以及几个关键字的更多相关文章
- JAVA中继承时方法的重载(overload)与重写/覆写(override)
JAVA继承时方法的重载(overload)与重写/覆写(override) 重载-Override 函数的方法参数个数或类型不一致,称为方法的重载. 从含义上说,只要求参数的个数或参数的类型不一致就 ...
- Mybatis的Mapper中的方法为什么不能重载?
目录 前言 环境配置 错误示范 为什么不能重载? 如何找到XML中对应的SQL? 总结 前言 在初入门Mybatis的时候可能都犯过一个错误,那就是在写Mapper接口的时候都重载过其中的方法,但是运 ...
- Delphi 中同类型方法的说明
对象的方法能定义成静态(static).虚拟(virtual).动态(dynamic)或消息处理(message).请看下面 的例子: TFoo = class procedure IAmAStati ...
- C#中==与Equals方法的区别
using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace Console ...
- struts2:数据校验,通过Action中的validate()方法实现校验,图解
根据输入校验的处理场所的不同,可以将输入校验分为客户端校验和服务器端校验两种.服务器端验证目前有两种方式: 第一种 Struts2中提供了一个com.opensymphony.xwork2.Valid ...
- Python中的__new__()方法的使用
__new__() 函数只能用于从object继承的新式类. 先看下object类中对__new__()方法的定义: class object: @staticmethod # known cas ...
- 解析Qt中QThread使用方法
本文讲述的是在Qt中QThread使用方法,QThread似乎是很难的一个东西,特别是信号和槽,有非常多的人(尽管使用者本人往往不知道)在用不恰当(甚至错误)的方式在使用QThread,随便用goog ...
- IEnumerable中的 Any方法
IEnumerable类中的 Any方法,表示集合中有任何一元素满足条件,返回就true , 该方法有两个重载 1. 不带任何参数,表示集合中有元素 2. 参入一个 Func<TSource, ...
- 使用反射机制实现jQuery调用ashx类中的指定方法
使用反射机制实现jQuery调用ashx类中的指定方法 近期用asp.net做个小网站,但又不喜欢使用asp.net的服务器端控件,经过一番思量后确定前端采用原始的html.后台采用Linq to ...
- 编写高质量代码:改善Java程序的151个建议(第一章:JAVA开发中通用的方法和准则)
编写高质量代码:改善Java程序的151个建议(第一章:JAVA开发中通用的方法和准则) 目录 建议1: 不要在常量和变量中出现易混淆的字母 建议2: 莫让常量蜕变成变量 建议3: 三元操作符的类型务 ...
随机推荐
- 一款基于jquery超炫的图片切换特效
今天为给大家介绍一款基于jquery超炫的图片切换特效.由百叶窗飞入显示图片.图片消息的时候也是百叶窗渐行渐远.用于图片展示,效果还是非常好,我们一起看下效果图: 在线预览 源码下载 来看下实现的 ...
- IIS安全加固
1 删除IIS默认站点 把IIS默认安装的站点删除或禁用掉. 2 禁用不必要的Web服务扩展 打开IIS 管理器,检查是否有不必要的“Web服务扩展”,如果有则禁用掉.如下图所示: 3 IIS访问权限 ...
- Hadoop的体系结构之MapReduce的体系结构
MapReduce的体系结构 Hadoop MapReduce是一个使用简易的软件框架,基于它写出来的应用程序能够运行在上千个商用机器组成的大型集群上,并以一种可靠容错的方式并行处理上TB的数据集. ...
- c# 终止线程
最近在弄一个等待窗口,使用了线程去调用form.在结束线程这边碰到了些问题.调用: thread.Abort();thread.Join();老被ThreadAbortException异常抛出困扰. ...
- u-boot可ping通PC,PC不可ping通u-boot
http://blog.csdn.net/ce123_zhouwei/article/details/7339134 开发板运行U-Boot,在终端下使用Ping命令是能Ping通PC机,但PC机Pi ...
- hdu2222 KeyWords Search AC自动机入门题
/** 链接:http://acm.hdu.edu.cn/showproblem.php?pid=2222 题意:题意:给定N(N <= 10000)个长度不大于50的模式串,再给定一个长度为L ...
- MVC出现错误:系统找不到指定文件(异常来自 HRSULT:0x80070002)
vs2013创建Web应用程序MVC出现错误:系统找不到指定文件(异常来自 HRSULT:0x80070002) 查到博客园VS2013新建Web Application时报错Exception fr ...
- DataRowState、AcceptChanges、RejectChanges综合使用示例:实现DataGridView数据的增、删、改
下面的示例中,通过一个程序,演示使用DataRowState.AcceptChanges.RejectChanges,实现DataGridView数据的增.删.改. 一.界面设计 二.代码实现 usi ...
- fancybox 使用方法
项目中需要做一个相册功能.选择的是fancybox,大概记录一下使用方法: 1.引用fancybox所需要的文件,你可以下载至本地或者引用CDN. fancybox最新版本下载地址:http://fa ...
- com.sun.awt.AWTUtilities.setWindowOpacity相关说明
在eclipse中(jdk1.6.*)版本中出现编译不通过而报错,报错是因为这个包里面的方法不属于jdk正式版本,也就是不能保证下个版本还存在,所以编译器会拒绝,你可以在eclipse中如下设置: 选 ...