一个C#的简单 windows 程序中,Consoledebug.writelinee("Some ...

C#是什么东西?请高手指点。_百度知道
C#是什么东西?请高手指点。
提问者采纳
它是visual stdio 中的一个钟语言,而visual stdio 是.NET下的一个组件。这是一种编程语言也是构建应用程序的工具。是目前主流语言中最新的,更现代,类型安全,支持范型,面向对象。。。。这也是微软为了抗衡java而在其.NET战略中新开发的利器。
其他类似问题
按默认排序
其他2条回答
.net框架下的一种面向对象语言,学习起来不算太难,开发速度快
您可能关注的推广回答者:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁如何让升级程序升级自己?另有一个C#下载文件的问题&font size=2&&span style="font-family:宋体"&大家好,我这里有两个问题&br&&br&1.假设升级程序为update.exe,当update.exe有新版本需要部署的时候,如何自动更新update.exe?&br&&br&2.我的update.exe下载文件是用下面这端代码来实现的&br&昨天遇到一个问题就,下载到的xml的文件的和服务器上的不一致了,平白多出了接近10行。&br&&br&C#代码为:&br&&br&&/span&&/font&
&div style="text-align:left"&&font size=2&&span style="font-family:宋体"&&/span&&/font&string DownFileServerPath = ht[&path&].ToString();//需要下载的文件,在服务器上的相对路径,相对于Update目录&br&string DownFileLocalPath = DownFileServerPath.Replace(&/&, &\\&);&br&string DownFile = this.SoftDir + &/& + DownFileServerP//服务器上文件绝对url&br&WebRequest wRequest = WebRequest.Create(DownFile);&br&WebResponse wResponse = wRequest.GetResponse();&br&&br&long fileLength = 0;&br&&br&fileLength = wResponse.ContentL&br&&br&//修正xml中数据以实际获取到的长度为准&br&if (ht[&size&].ToString() != fileLength.ToString())&br&{&br&ht[&size&] = fileLength.ToString();&br&double oldSize = Convert.ToDouble(ht[&size&]);&br&this.TotalSize -= oldS&br&this.TotalSize += fileL&br&}&br&Stream stram = wResponse.GetResponseStream();&br&StreamReader reader = new StreamReader(stram);&br&byte[] bufferbyte = new byte[fileLength];&br&int allByte = (int)bufferbyte.L&br&int startByte = 0;&br&&br&while (fileLength & 0)&br&{&br&int downByte = stram.Read(bufferbyte, startByte, allByte);&br&if (downByte == 0)&br&{&br&&br&}&br&startByte += downB&br&allByte -= downB&br&&br&this.TotalDownSize += downB&br&&br&ht[&downsize&] = startB&br&this.htDowningFile =&br&}&br&&br&string DownFileLocalFullPath = this.UpdateMainPath + DownFileLocalP&br&this.CreateDirtory(DownFileLocalFullPath);&br&FileStream fs = new FileStream(DownFileLocalFullPath, FileMode.OpenOrCreate, FileAccess.Write);&br&fs.Write(bufferbyte, 0, bufferbyte.Length);&br&stram.Close();&br&reader.Close();&br&fs.Close();&br&&br&&br&&br&服务器上有个xml文件,大概是这样的&br&&root&&br&这里还有3000多行&br&&tpl&&br&&pbt_id&540&/pbt_id&&br&&img_num&0&/img_num&&br&&txt_num&1&/txt_num&&br&&thumbnail&_19f8bc27df2959eab8cc07.jpg&/thumbnail&&br&&tt_id&7&/tt_id&&br&&pp_id&1&/pp_id&&br&&b_front&0&/b_front&&br&&/tpl&&br&&tpl&&br&&pbt_id&541&/pbt_id&&br&&img_num&0&/img_num&&br&&txt_num&1&/txt_num&&br&&thumbnail&_38c4d28ffec.jpg&/thumbnail&&br&&tt_id&7&/tt_id&&br&&pp_id&2&/pp_id&&br&&b_front&0&/b_front&&br&&/tpl&&br&&/root&&br&&br&下载到之后的xml成了&br&&root&&br&&tpl&&br&&pbt_id&540&/pbt_id&&br&&img_num&0&/img_num&&br&&txt_num&1&/txt_num&&br&&thumbnail&_19f8bc27df2959eab8cc07.jpg&/thumbnail&&br&&tt_id&7&/tt_id&&br&&pp_id&1&/pp_id&&br&&b_front&0&/b_front&&br&&/tpl&&br&&tpl&&br&&pbt_id&541&/pbt_id&&br&&img_num&0&/img_num&&br&&txt_num&1&/txt_num&&br&&thumbnail&_38c4d28ffec.jpg&/thumbnail&&br&&tt_id&7&/tt_id&&br&&pp_id&2&/pp_id&&br&&b_front&0&/b_front&&br&&/tpl&&br&&/root&&br&从这一行开始重复。&br&&pbt_id&541&/pbt_id&&br&&img_num&0&/img_num&&br&&txt_num&1&/txt_num&&br&&thumbnail&_38c4d28ffec.jpg&/thumbnail&&br&&tt_id&7&/tt_id&&br&&pp_id&2&/pp_id&&br&&b_front&0&/b_front&&br&&/tpl&&br&&/root&&br&&br&这是为什么呢?&br&先在这里谢谢了哈。&br&&font size=2&&span style="font-family:宋体"&&/span&&/font&&/div&(C) 2009 Microsoft Corporation. Minden jog fenntartva.Thu, 29 Jan :50 Zcc3cd7ce-c0a-1bbbe6a64bdd/Forums/hu-HU/cc3cd7ce-c0a-1bbbe6a64bdd/c?forum=visualcshartzhchs#cc3cd7ce-c0a-1bbbe6a64bdd/Forums/hu-HU/cc3cd7ce-c0a-1bbbe6a64bdd/c?forum=visualcshartzhchs#cc3cd7ce-c0a-1bbbe6a64bddyoung40:443/profile/young40/?type=forum如何让升级程序升级自己?另有一个C#下载文件的问题&font size=2&&span style="font-family:宋体"&大家好,我这里有两个问题&br&&br&1.假设升级程序为update.exe,当update.exe有新版本需要部署的时候,如何自动更新update.exe?&br&&br&2.我的update.exe下载文件是用下面这端代码来实现的&br&昨天遇到一个问题就,下载到的xml的文件的和服务器上的不一致了,平白多出了接近10行。&br&&br&C#代码为:&br&&br&&/span&&/font&
&div style="text-align:left"&&font size=2&&span style="font-family:宋体"&&/span&&/font&string DownFileServerPath = ht[&path&].ToString();//需要下载的文件,在服务器上的相对路径,相对于Update目录&br&string DownFileLocalPath = DownFileServerPath.Replace(&/&, &\\&);&br&string DownFile = this.SoftDir + &/& + DownFileServerP//服务器上文件绝对url&br&WebRequest wRequest = WebRequest.Create(DownFile);&br&WebResponse wResponse = wRequest.GetResponse();&br&&br&long fileLength = 0;&br&&br&fileLength = wResponse.ContentL&br&&br&//修正xml中数据以实际获取到的长度为准&br&if (ht[&size&].ToString() != fileLength.ToString())&br&{&br&ht[&size&] = fileLength.ToString();&br&double oldSize = Convert.ToDouble(ht[&size&]);&br&this.TotalSize -= oldS&br&this.TotalSize += fileL&br&}&br&Stream stram = wResponse.GetResponseStream();&br&StreamReader reader = new StreamReader(stram);&br&byte[] bufferbyte = new byte[fileLength];&br&int allByte = (int)bufferbyte.L&br&int startByte = 0;&br&&br&while (fileLength & 0)&br&{&br&int downByte = stram.Read(bufferbyte, startByte, allByte);&br&if (downByte == 0)&br&{&br&&br&}&br&startByte += downB&br&allByte -= downB&br&&br&this.TotalDownSize += downB&br&&br&ht[&downsize&] = startB&br&this.htDowningFile =&br&}&br&&br&string DownFileLocalFullPath = this.UpdateMainPath + DownFileLocalP&br&this.CreateDirtory(DownFileLocalFullPath);&br&FileStream fs = new FileStream(DownFileLocalFullPath, FileMode.OpenOrCreate, FileAccess.Write);&br&fs.Write(bufferbyte, 0, bufferbyte.Length);&br&stram.Close();&br&reader.Close();&br&fs.Close();&br&&br&&br&&br&服务器上有个xml文件,大概是这样的&br&&root&&br&这里还有3000多行&br&&tpl&&br&&pbt_id&540&/pbt_id&&br&&img_num&0&/img_num&&br&&txt_num&1&/txt_num&&br&&thumbnail&_19f8bc27df2959eab8cc07.jpg&/thumbnail&&br&&tt_id&7&/tt_id&&br&&pp_id&1&/pp_id&&br&&b_front&0&/b_front&&br&&/tpl&&br&&tpl&&br&&pbt_id&541&/pbt_id&&br&&img_num&0&/img_num&&br&&txt_num&1&/txt_num&&br&&thumbnail&_38c4d28ffec.jpg&/thumbnail&&br&&tt_id&7&/tt_id&&br&&pp_id&2&/pp_id&&br&&b_front&0&/b_front&&br&&/tpl&&br&&/root&&br&&br&下载到之后的xml成了&br&&root&&br&&tpl&&br&&pbt_id&540&/pbt_id&&br&&img_num&0&/img_num&&br&&txt_num&1&/txt_num&&br&&thumbnail&_19f8bc27df2959eab8cc07.jpg&/thumbnail&&br&&tt_id&7&/tt_id&&br&&pp_id&1&/pp_id&&br&&b_front&0&/b_front&&br&&/tpl&&br&&tpl&&br&&pbt_id&541&/pbt_id&&br&&img_num&0&/img_num&&br&&txt_num&1&/txt_num&&br&&thumbnail&_38c4d28ffec.jpg&/thumbnail&&br&&tt_id&7&/tt_id&&br&&pp_id&2&/pp_id&&br&&b_front&0&/b_front&&br&&/tpl&&br&&/root&&br&从这一行开始重复。&br&&pbt_id&541&/pbt_id&&br&&img_num&0&/img_num&&br&&txt_num&1&/txt_num&&br&&thumbnail&_38c4d28ffec.jpg&/thumbnail&&br&&tt_id&7&/tt_id&&br&&pp_id&2&/pp_id&&br&&b_front&0&/b_front&&br&&/tpl&&br&&/root&&br&&br&这是为什么呢?&br&先在这里谢谢了哈。&br&&font size=2&&span style="font-family:宋体"&&/span&&/font&&/div&Sat, 25 Oct :33 ZT14:02:48Z/Forums/hu-HU/cc3cd7ce-c0a-1bbbe6a64bdd/c?forum=visualcshartzhchs#2ba5fc04-5a64-49af-b01b-daab356dd793/Forums/hu-HU/cc3cd7ce-c0a-1bbbe6a64bdd/c?forum=visualcshartzhchs#2ba5fc04-5a64-49af-b01b-daab356dd793young40:443/profile/young40/?type=forum如何让升级程序升级自己?另有一个C#下载文件的问题&font size=2&&span style="font-family:宋体"&问题似乎出在这两句上&br&&br&byte[] bufferbyte = new byte[fileLength];&br&&br&fs.Write(bufferbyte, 0, bufferbyte.Length);&br&&br&我通过调试跟踪发现 &br&&/span&&/font&&font size=2&&span style="font-family:宋体"&fileLength = &/span&&/font&93919;&br&&font size=2&&span style="font-family:宋体"&bufferbyte 赋值后等于 {byte[11052]}&/span&&/font&&br&&br&为什么会这样?不该是等于 {byte[&font size=2&&span style="font-family:宋体"&&/span&&/font&93919]} 才对么?&br&&br&&br&Sat, 25 Oct :08 ZT16:44:08Z/Forums/hu-HU/cc3cd7ce-c0a-1bbbe6a64bdd/c?forum=visualcshartzhchs#b30a01bb-ea96-c17343fc94/Forums/hu-HU/cc3cd7ce-c0a-1bbbe6a64bdd/c?forum=visualcshartzhchs#b30a01bb-ea96-c17343fc94young40:443/profile/young40/?type=forum如何让升级程序升级自己?另有一个C#下载文件的问题&font size=2&&span style="font-family:宋体"&解决办法是找到了&br&&br&fs.Write(bufferbyte, 0, (int)fileLength);&br&&br&这样就ok了,还是不理解为什么那个byte的长度会改变。&br&&/span&&/font&Sat, 25 Oct :57 ZT17:01:57Z/Forums/hu-HU/cc3cd7ce-c0a-1bbbe6a64bdd/c?forum=visualcshartzhchs#40f2a180-3851-47fd-87e4-2a9b0b1847aa/Forums/hu-HU/cc3cd7ce-c0a-1bbbe6a64bdd/c?forum=visualcshartzhchs#40f2a180-3851-47fd-87e4-2a9b0b1847aa周雪峰:443/profile/%E5%91%A8%E9%9B%AA%E5%B3%B0/?type=forum如何让升级程序升级自己?另有一个C#下载文件的问题&span style="color:rgb(0,0,255)"&&span style="font-weight:bold"&&font size=4&&span style="font-family:宋体"&你好!young40!&br&
我进行了如下测试:&br&
static void Main(string[] args)&br&
long fileLength=93919;&br&
byte[] bufferbyte = new byte[fileLength];&br&
Console.WriteLine(bufferbyte.Length);&br&&br&
}&br&没有发生问题,bufferbute.Length确实被赋值为93919了,可见问题不是出在byte数组上,你是在哪一行打的断点,然后发现bufferbyte仅有11052大小?是在Write以后吗?&br&&/span&&/font&&/span&&/span&Sun, 26 Oct :46 ZT14:02:48Z/Forums/hu-HU/cc3cd7ce-c0a-1bbbe6a64bdd/c?forum=visualcshartzhchs#e42adf93-e5fb-411e-b47e-99cf1e1d7d0c/Forums/hu-HU/cc3cd7ce-c0a-1bbbe6a64bdd/c?forum=visualcshartzhchs#e42adf93-e5fb-411e-b47e-99cf1e1d7d0cyoung40:443/profile/young40/?type=forum如何让升级程序升级自己?另有一个C#下载文件的问题&font size=2&&span style="font-family:宋体"&雪峰,谢谢你的回复。&br&&br&我刚才又重新调试了下,看来我说bufferbyte的长度被改变是错的。&br&给bufferbyte赋值是没有问题的。&br&&br&昨天看花眼了,因为这段代码是被放在一个for循环里面的,所以,&/span&&/font&&font size=2&&span style="font-family:宋体"&bufferbyte在赋值前都会保留上次循环时的值&br&昨天一不小心看花眼了。&img src="/china/WebResource.axd?d=NySzF1eivP_rMoc50GQJzcvS4MHMOEKwYrCIgDtzuzlw7GsNki3H_INlfYaLgkxFeEZohpX-DbGlfzjK3tK8nHU_uiC3gj4aGMFE_1VuMvI1&t=757564"&,真是抱歉哈,耽误了你的宝贵时间。&br&&br&现在我怀疑是另外一个地方有问题。&img src="/china/WebResource.axd?d=NySzF1eivP_rMoc50GQJzcvS4MHMOEKwYrCIgDtzuzlw7GsNki3H_INlfYaLgkxFeEZohpX-DbGlfzjK3tK8nHU_uiC3gj4aGMFE_1VuMvI1&t=757564"&&br&FileStream fs = new FileStream(DownFileLocalFullPath, FileMode.OpenOrCreate, FileAccess.Write);&br&这里创建文件的时候,使用的FileMode可能有问题。&br&我似乎是不该用&/span&&/font&&font size=2&&span style="font-family:宋体"&FileMode.OpenOrCreate这种模式,我看了下msdn关于FileMode的解释,OpenOrCreate中的Create模式应该没有问题,但是Open的时候可能就有问题,我是这样理解的,假设a.xml的大小为100B,服务器上新文件new_a.xml是90B,是不是说,下载完后更新a.xml的时候,只会更新a.xml的前面90B的数据,后面的数据还在呢?所以就会出现重复最后几行的现象&br&&br&解决的办法似乎是把原有的文件删除即可,这样程序都会使用Create模式来写文件了,这样就不该有问题了吧。&br&&br&再次感谢雪峰。&br&&/span&&/font&Sun, 26 Oct :49 ZT06:25:49Z/Forums/hu-HU/cc3cd7ce-c0a-1bbbe6a64bdd/c?forum=visualcshartzhchs#67faa8-80e5-2ec/Forums/hu-HU/cc3cd7ce-c0a-1bbbe6a64bdd/c?forum=visualcshartzhchs#67faa8-80e5-2ec周雪峰:443/profile/%E5%91%A8%E9%9B%AA%E5%B3%B0/?type=forum如何让升级程序升级自己?另有一个C#下载文件的问题&span style="color:rgb(0,0,255)"&&span style="font-weight:bold"&&font size=4&&span style="font-family:宋体"&你可以通过修改FileMode来验证你的假设。&/span&&/font&&/span&&/span&Sun, 26 Oct :19 ZT07:39:19Z/Forums/hu-HU/cc3cd7ce-c0a-1bbbe6a64bdd/c?forum=visualcshartzhchs#200f3bb8-de9c--bd447b276454/Forums/hu-HU/cc3cd7ce-c0a-1bbbe6a64bdd/c?forum=visualcshartzhchs#200f3bb8-de9c--bd447b276454young40:443/profile/young40/?type=forum如何让升级程序升级自己?另有一个C#下载文件的问题&font size=2&&span style="font-family:宋体"&谢谢雪峰哈!&br&&br&我等下再测试下。&br&你的回复对我有很大的启发哈。太感谢了!&br&&/span&&/font&Sun, 26 Oct :14 ZT07:56:14Z&namespace ConsoleApplication1
class Exercises1
static void Main(string[] args)
* 这是一个示例程序,用以熟悉C#最基本的格式内容
* author: notifier
Console.WriteLine("请输入你的名字!");
string name = Console.ReadLine();
//下面是C#中格式化输出的新格式 &
Console.WriteLine("欢迎你!{0}", name);
//下面是从Java跳过来的Coder所习惯的方式
Console.WriteLine("欢迎你!"+ name);
//和其他语言一样,C#中数组下标也是从零开始
string s = "data";
Console.WriteLine(s[3]);
  Console 中用于输入输出的方法还有Read 和Write, 它们和ReadLine 与WriteLine 的不同之处在于ReadLine 和WriteLine 执行时在显示时多加了一个回车键, 而使用Read 和Write 时则光标不会自动转移到下一行.&&}

我要回帖

更多关于 debug.writeline 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信