黑马程序员-c#基础加强版之方法控制流复习-2变量是否初始化的问题
2013-12-11 13:05
309 查看
---------------------
ASP.Net+Android+IOS开发.Net培训期待与您交流! ----------------------
今天在看老师讲课的时候,发现一个问题,即上上篇学习笔记《小菜学try语句,又被trouble给cathch住了》里提到的变量未被赋值(没有初始化)的问题.以下左边的代码为老师写的代码,MyFirstMehod方法里的num变量声明时也未赋值(没有初始化),可是并没有报错.右边为之前我写的一个ReadInt的方法,编译错误,错误为:使用了为赋值的局部变量Num1.我感觉二者没有什么差别,为什么左边的MyFirstMethod方法没有错误,而右边的ReadInt方法就有错误.
我将ReadInt()方法改为:
这样就不存在Num1没有被赋值的错误了.为什么呢?
ASP.Net+Android+IOS开发.Net培训期待与您交流! ----------------------
今天在看老师讲课的时候,发现一个问题,即上上篇学习笔记《小菜学try语句,又被trouble给cathch住了》里提到的变量未被赋值(没有初始化)的问题.以下左边的代码为老师写的代码,MyFirstMehod方法里的num变量声明时也未赋值(没有初始化),可是并没有报错.右边为之前我写的一个ReadInt的方法,编译错误,错误为:使用了为赋值的局部变量Num1.我感觉二者没有什么差别,为什么左边的MyFirstMethod方法没有错误,而右边的ReadInt方法就有错误.
static void MyFirstMehod(){ int num; Console.WriteLine("请输入一个数字"); string str = Console.ReadLine(); while (true){ try{ num=Convert.ToInt32(str); break; } catch{ Console.WriteLine("输入有误,请重输"); str = Console.ReadLine(); } } Console.WriteLine( num); } | static void ReadInt(){ int Num1; bool IsNumber = false; do{ Console.WriteLine("请输入一个整数"); try{ Num1=Convert.ToInt32(Console.ReadLine()); IsNumber = true; } catch{ Console.WriteLine("您的输入有误"); } }while (IsNumber == false); Console.WriteLine(Num1); } |
static void ReadInt() { int Num1; do { Console.WriteLine("请输入一个整数"); try { Num1 = Convert.ToInt32(Console.ReadLine()); break; } catch { Console.WriteLine("您的输入有误"); } } while (true); Console.WriteLine(Num1); }
这样就不存在Num1没有被赋值的错误了.为什么呢?
相关文章推荐
- c#基础加强版之方法控制流复习-2变量是否初始化的问题
- 黑马程序员-c#基础加强版之方法控制流复习-1关于方法的讲解
- 黑马程序员-c#基础加强版之方法控制流复习-3控制台打印密码
- c#基础加强版之方法控制流复习-3控制台打印密码
- c#基础加强版之方法控制流复习-1关于方法的讲解
- 黑马程序员--Java基础加强--16.利用反射操作泛型V【通过Constructor反射解析泛型构造方法】【通过Field反射解析泛型成员变量】【个人总结】
- [C#]变量初始化问题:字段初始值无法引用非静态字段、方法或属性
- 黑马程序员---java基础---面向对象中的构造方法及static关键字,变量的问题
- C#变量初始化问题:字段初始值无法引用非静态字段、方法或属性
- C#变量初始化问题:字段初始值无法引用非静态字段、方法或属性
- 黑马程序员--C#基础(二)-->关键字、数据类型、变量、常量
- 黑马程序员_学习日记42_608基础加强(正则表达式、委托、匿名方法)
- 复习 c#基础加强
- 关于成员变量和局部变量是否都会被默认初始化的问题
- c#基础--方法(复习总结)
- 黑马程序员_c#基础知识学习笔记:方法重载和out,ref传参
- 黑马程序员-C#基础视频中的实用方法封装统计
- 黑马程序员_C#基础之变量、数据类型、运算符
- 黑马程序员_Java基础加强_Java类加载器,委托机制,模板方法设计模式
- 黑马程序员-C#编程基础之变量-学习笔记