详解C#方法中使用out参数做登录判断代码实例

本文实例为大家分享了C#使用out参数做登录判断的具体代码,供大家参考,具体内容如下

static void Main(string[] args)
{
//分别提示用户输入用户名和密码
//写一个方法来判断用户输入的是否正确
//返回给用户一个登陆结果,并且还要单独的返回给用户一个登陆信息
//如果用户密或码错误,除了返回登陆结果之外,还要返回一个 "用户名错误"或“密码错误”
//如果用户密码都错误则返回"未知错误"
Console.WriteLine("请输入用户名");
string name = Console.ReadLine();
Console.WriteLine("请输入密码");
string pwd = Console.ReadLine();
string msg;
bool b = IsLogin(name, pwd, out msg); //调用IsLogin方法,输入实参
Console.WriteLine("登录结果是{0}", b);
Console.WriteLine("登录信息是{0}", msg);
Console.ReadKey();
}
public static bool IsLogin(string name, string pwd, out string msg)
{
if(name=="admin" && pwd == "888888")
{
msg = "登录成功";
return true;
}
else if (name == "admin")
{
msg = "用户密码错误,请重新输入";
return false;
}
else if (pwd == "888888")
{
msg = "用户名错误,请重新输入";
return false;
}
else
{
msg = "未知错误,请重新输入";
return false;
}
}

以上所述是小编给大家介绍的C#使用out参数做登录判断详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

时间: 2019-04-24

.NET/C#利用反射调用含ref或out参数的方法示例代码

前言 使用反射,我们可以很容易地在运行时调用一些编译时无法确定的属性.方法等.在.NET中的反射可以实现从对象的外部来了解对象(或程序集)内部结构的功能,哪怕你不知道这个对象(或程序集)是个什么东西,另外.NET中的反射还可以运态创建出对象并执行它其中的方法. 反射是.NET中的重要机制,通过反射,可以在运行时获得程序或程序集中每一个类型(包括类.结构.委托.接口和枚举等)的成员和成员的信息.有了反射,即可对每一个类型了如指掌.另外我还可以直接创建对象,即使这个对象的类型在编译时还不知道. 反射

C#中out参数、ref参数与值参数的用法及区别

前言 C#方法中参数类型 有4种参数类型,有时候很难记住它们的不同特征,下图对它们做一个总结 大家可能在编码中或多或少的使用过out的ref,但是是否注意过他两的详细用法以及区别? 本文想介绍下详细介绍下out参数,ref参数以及一般值参数. 值参数 在使用参数时,把一个值传递给函数使用的一个变量.在函数中对此变量的任何修改都不影响函数调用中指定的参数.如下面的函数,是使函数是使传递过来的参数值加倍,并显示出来: static void ShowDouble(int num) { num = n

解析C#中的ref和out参数

很多初学者(甚至是工作一定时间的开发人员),在遇到ref或者out参数时,总会有点"晕乎乎"或者疑惑,也不知道到底该在啥时候,啥场景下使用ref或者out参数. 本文将通过实例和说明,给大家详细讲解C#中的ref和out参数. 复制代码 代码如下: using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace RefAndOut{    class Program

深入解析Python中函数的参数与作用域

传递参数 函数传递参数时的一些简要的关键点: 参数的传递是通过自动将对象赋值给本地变量名来实现的.所有的参数实际上都是通过指针进行传递的,作为参数被传递的对象从来不自动拷贝. 在函数内部的参数名的赋值不会影响调用者. 改变函数的可变对象参数的值会对调用者有影响. 实际上,Python的参数传递模型和C语言的相当相似: 不可变参数"通过值"进行传递.像整数和字符串这样的对象是通过对象引用而不是拷贝进行的,但是因为不论怎么样都不可能在原处改变不可变对象,实际的效果就很像创建了一份拷贝. 可

聊聊springmvc中controller的方法的参数注解方式

绪论 相信接触过springmvc的同学都知道,在springmvc的控制层中,我们在方法的参数中可以使用注解标识.比如下面例子: public Map<String, Object> login(@PathVariable("loginParams") String loginParams) @PathVariable注解就标识了这个参数是作为一个请求地址模板变量的(不清楚的同学可以先学习一下restful设计风格).这些注解都是spring内置注解,那么 我们可不可以自

.Net Core中使用ref和Span&lt;T&gt;提高程序性能的实现代码

一.前言 其实说到ref,很多同学对它已经有所了解,ref是C# 7.0的一个语言特性,它为开发人员提供了返回本地变量引用和值引用的机制. Span也是建立在ref语法基础上的一个复杂的数据类型,在文章的后半部分,我会有一个例子说明如何使用它. 二.ref关键字 不论是ref还是out关键,都是一种比较难以理解和操作的语言特性,如C语言中操作指针一样,这样的高级语法总是什么带来一些副作用,但是我不认为这有什么,而且不是每一个C#开发者都要对这些内部运行的机制有着深刻的理解,我觉得不论什么复杂的东

实例解析Java中的构造器初始化

1.初始化顺序 当Java创建一个对象时,系统先为该对象的所有实例属性分配内存(前提是该类已经被加载过了),接着程序开始对这些实例属性执行初始化,其初始化顺序是:先执行初始化块或声明属性时制定的初始值,再执行构造器里制定的初始值. 在类的内部,变量定义的先后顺序决定了初始化的顺序,即时变量散布于方法定义之间,它们仍就会在任何方法(包括构造器)被调用之前得到初始化. class Window { Window(int maker) { System.out.println("Window(&quo

基于params,ref,out的参数问题详解

最近在写程序时遇到params,ref,out 参数问题.回头有自习看了看MSDN,才巩固了基础.现在和大家分享一下.paramsparams 关键字在方法成员的参数列表中使用,为该方法提供了参数个数可变的能力,它在只能出现一次并且不能在其后再有参数定义(之前可以).示例: 复制代码 代码如下: using System;using System.Collections.Generic;using System.Text;namespace ConsoleApplication1{class A

vue中filters 传入两个参数 / 使用两个filters的实现方法

先给大家介绍下vue中filters 传入两个参数 / 使用两个filters .vue 传入两个参数 <van-col>{{第一个参数|formatVisitTime(第二个参数)}}</van-col> 使用两个filters <van-tag plain :color="item.CreateTime(参数)|formatVisitDate(filters方法)|formatVisitDateColor(filters方法)">{{item.C

laravel框架中路由设置,路由参数和路由命名实例分析

本文实例讲述了laravel框架中路由设置,路由参数和路由命名.分享给大家供大家参考,具体如下: laravel中必须先配置路由,才能使用.不像tp中不配置也能使用,因为tp可以通过pathinfo进行自动解析. 一.简单的路由设置 我们一般在routes/web.php文件中配置网页端路由. //参数一,表示uri路径 //参数二,闭包函数,处理响应 Route::get('/test', function () { return '测试'; }); 二.路由方法,处理特定http请求方式 R

通过实例解析java8中的parallelStream

这篇文章主要介绍了通过实例解析java8中的parallelStream,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 about Stream 什么是流? Stream是java8中新增加的一个特性,被java猿统称为流. Stream 不是集合元素,它不是数据结构并不保存数据,它是有关算法和计算的,它更像一个高级版本的 Iterator.原始版本的 Iterator,用户只能显式地一个一个遍历元素并对其执行某些操作:高级版本的 Stream