很简单的一个问题,大家看看

问题描述

我刚刚开始学习c#,遇到的一个问题,大家看看,现在要求计算1加到100的值,我刚开始的代码是这样的usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespace@while{classProgram{staticvoidMain(string[]args){inti=1,t;while(i<101){t+=i;i++;}Console.WriteLine(t);Console.ReadKey();}}}结果提示“错误2使用了未赋值的局部变量“t””我把程序中刚刚开始定义的t赋值0后,就可以解决了,这是为什么啊,c语音里好像这样做的效果都是一样的啊,高手解释下啊~

解决方案

解决方案二:
sum=0;for(inti=1;i<=100;i++)sum+=100;Console.WriteLine(sum);

解决方案三:
inti=1,t;=>inti=1,t=0;
解决方案四:
错误提示说明白很清楚.inti=1,t;好像t赋个什么类型string,还是intobject楼下的能说下吗。就像楼主那样不用会赋什么类型
解决方案五:
C#比C语言优秀的一点就是,当程序员使用不规范的写法写程序,可能造成隐患的时候,C#编译器会自动阻止,从语法层面杜绝那些不好的编程习惯。使用变量前不初始化就是一个恶习。
解决方案六:
C#中一切都是对象.而对象的抽象说法就是类,类在使用的时候必须进行实例化(静态类和不能进行实例化的类除外.如抽象类).而int,string等都是类的别名.所以在使用它们的时候必须实例化.否则必然出错.
解决方案七:
引用5楼xue529290400的回复:

C#中一切都是对象.而对象的抽象说法就是类,类在使用的时候必须进行实例化(静态类和不能进行实例化的类除外.如抽象类).而int,string等都是类的别名.所以在使用它们的时候必须实例化.否则必然出错.

+1
解决方案八:
定义一个变量,必须马上初始化它,这是良好的编程习惯.
解决方案九:
t没有声明,直接加条intt;就好了
解决方案十:
C里面写intt;默认为t=0;C#里面没有默认值,任何变量使用前都必须初始化。
解决方案十一:
C#中的变量,一定要初始化。
解决方案十二:
inti=1,t=0;
解决方案十三:
把t的初始值赋0
解决方案十四:
c和c#里面都是可以这样的只是在c#中编译器会给出的一个警告,是一个强制要求!为的是易读、减少错误!
解决方案十五:
C#里面的变量申明就是这样你那个前一个声明并赋值但是t你只声明没有复制Int别名是System.Int32他允许的范围是从负数到最大整数
解决方案:
要初始化的。。。。。。。。。。。。。。
解决方案:
C#里局部变量是没有默认值勤的,所以声明t的时候一定要赋值。如果把t放到方法外就不用,因为类的成员在编译的时候会自妆始化为0.
解决方案:
要初始化。。。。

时间: 2024-10-23 12:39:25

很简单的一个问题,大家看看的相关文章

图片-很简单的一个问题,这这里的i是不是错了

问题描述 很简单的一个问题,这这里的i是不是错了 解决方案 无所谓对错,对于编程来说,应该是错的,没有注意i被截断 char是8位,只截取低8位 289二进制是100100001 截取后赋值给C后是00100001,这个数是33 解决方案二: 如果是char,那么就是 i % 256取余数 如果是unsigned char就可以取512以内. ascii表:http://baike.baidu.com/link?url=HP75yqBHxhigTpvxZ9Z0XoqcvjXD03QVGoI6T7

大家帮我看看,下面的代码有问题,很简单的一个调用WScript,怎么都调试不通过,报错。

问题描述 大家帮我看看,下面的代码有问题,很简单的一个调用WScript,怎么都调试不通过,报错.调试环境是:win2003+IIS6<%DimCMDShellsetCMDShell=Server.CreateObject("WScript.Shell")CMDShell.Run("cmd.exe/cdird:")%> 解决方案 解决方案二:up解决方案三:不好意思,ASP版面没人答,只好转移到此版来了

java 字符串相减(很简单的一个方法)

本篇文章是对java中关于字符串相减的一个简单的方法进行了介绍,需要的朋友参考下   有个比较简单的方法: 复制代码 代码如下: str1="abcd"; str2="cd"; str3=str1.replaceAll(str2,""); //str3="ab"

很简单的一个问题的一个问题,请大家赐教

问题描述 在C/S程序里面开发一个系统,经常会遇到这样的界面布局:工具栏:新增编辑删除列表:..............................................................现在我点新增添加一条记录,当添加成功后,如何同步主列表数据,如果重新从数据库取一遍效率太差,所以我想问下大家有没有高见编辑亦是如此,请大家赐教 解决方案 解决方案二:只能这样.解决方案三:可以先将信息存在内存或者临时文件中最后,一次性再在数据库里面更新解决方案四:那就操作列表,应该用

新人小白求助 很简单的一个修改密码的代码,但密码一直修改不成功,求大神帮帮忙

问题描述 这是我的修改密码的代码,要求输入用户名,密码,原密码和确认密码四个内容usingSystem;usingSystem.Linq;usingSystem.Data;usingSystem.Configuration;usingSystem.Collections;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebC

很简单的一个问题,我是新手,所以不会. 即时退出当前事件是哪一个方法?

问题描述 在delphi里是exit;在asp.net+C#里是?if(a==b)...我想退出,用哪个方法呵?谢了. 解决方案 解决方案二:return

JavaSE学习总结(五)——封装,继承,多态很简单

java面向对象的三大特性是:封装.继承与多态,是面向对象编程的核心. 一.封装 简单说封装就是将同一类事物的特性与功能包装在一起,对外暴露调用的接口. 封装:封装也称信息隐藏,是指利用抽象数据类型把数据和基于数据的操作封装起来,使其成为一个不可分割的整体,数据隐藏在抽象数据内部,尽可能的隐藏数据细节,只保留一些接口使其与外界发生联系.也就是说用户无需知道内部的数据和方法的具体实现细节,只需根据留在外部的接口进行操作就行. 封装的好处: 1) 实现了专业的分工 2) 良好的封装能够减少耦合 3)

java-小弟想请教一个问题.对于大神们来说很简单

问题描述 小弟想请教一个问题.对于大神们来说很简单 小弟的这个程序很简单 但是对于小弟来说实在是太难了 本来前面的已经实现了,但是算总分的时候第二个人的成绩总是要和第一个成绩相加,这是程序这是运行后的结果就想问问大神怎么做把两个人的总分成绩分开 求大神帮帮忙哈 解决方案 zhongfen[i]=bianliang; 下一行加上 bianliang=0; 解决方案二: 变量 bianliang 在每次输入学生姓名是清零.

android,一个很简单的demo,一运行就出错,谁能帮我看看怎么回事。

问题描述 android,一个很简单的demo,一运行就出错,谁能帮我看看怎么回事. eclipse上也没有错误提示,怎么运行不了.安装好就提示停止运行. 文件 解决方案 看logcat的日志,或者进入调试模式运行,一步步调 解决方案二: 亲,绑定布局空间是要通过布局管理者来获取的,不然就是空指针错误.具体如下 解决方案三: 用调试模式调试吧,很方便的. 解决方案四: 要看log日志的啊.看日志才知道哪里出错了, 解决方案五: fragment控件初始化的问题吧 解决方案六: fragment控