在工作中,我们习惯于使用4个空格来缩进代码。我习惯于使用tabs进行缩进,但我想遵循约定。注意:我无意在这里开始讨论空格与制表符。我调整了我的VisualStudio设置以用4个空格替换制表符,但我在调整使用空格时遇到了一些问题。例如:如何轻松取消缩进代码?使用tab字符,我只需要使用backspace一次,空格我需要使用backspace4次。如何确保始终有正确数量的空格(不是三个或五个)?如何像使用选项卡一样快速地浏览我的代码?(箭头向左或向右跳跃到带有制表符的下一个缩进,但只移动一个带有空格的位置)如何在比较文件时忽略空格更改?理想情况下,我希望这些用于缩进的4个空格对制表符同样
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭5年前。Improvethisquestion早上好、下午好、晚上好或晚上好(取决于您所在的时区)。这只是关于C#中XML注释的一般问题。我从来没有大肆评论我的程序,我一直都是一个冗长的变量/属性/方法命名者,让代码自己说话。如果我正在编写一些相当困惑的代码,我确实会写评论,但在大多数情况下,我不会写很多评论。我正在阅读有关.NET、SandcaSTLe和codeplex上的帮助文件生成器中的XML注释的一些资料,它让我走上了想要记录
a=b+(b=a)*0;这句话可以交换a和b的值。我已经用C#试过了,它有效。但我只是不知道它是如何工作的。例如a=1,b=2我列出了它的步骤如下:b=a->a=1,b=1b*0->a=1,b=1b+0->a=1,b=1a=b->a=1,b=1?但是b的值可能是错误的。谁能帮帮我?这让我很困惑。 最佳答案 a=b+(b=a)*0;中间的(b=a)是一个赋值语句,将b设置为a的当前值,其副作用是它的结果是(的最终值)b。当它乘以0时,你得到0,但分配仍然发生。外部位将a设置为b加上(b=a)*0的结果(为零)。因为在(b=a)位赋值之
我知道这个问题看起来像是许多其他问题的重复,但事实并非如此。每当我尝试通过我的Web应用程序在我的本地计算机上发送电子邮件时,都会抛出SMTPException,异常是://onthisline:SmtpServer.Send(mail);Unabletoreaddatafromthetransportconnection:net_io_connectionclosed.虽然生产代码运行良好,相同的代码、相同的连接、相同的凭据,我使用的是IP而不是别名,我试图关闭本地机器上的防火墙,但没有任何帮助解决这个问题。虽然以前在我的本地机器上工作过,但任何人都可以提示引发此问题的可能是什么问题
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭3年前。Improvethisquestion对于一般的.NETWeb开发和编程新手,谁会选择C#作为首选语言?先学习C#而不尝试将其应用于Web开发是否更好?似乎大多数C#文献都使用控制台或Windows窗体作为学习平台。那么这是最好的方向吗?或者您应该在练习Web开发的同时尝试学习C#?
对于经验丰富的C#3.0开发人员来说,学习F#有多难,和/或您认为学习F#最困难的部分是什么? 最佳答案 从F#开始(学习语法,了解如何以函数式方式编程)并不难。熟悉LINQ并深入了解Lambda表达式的优秀C#3开发人员应该能够快速掌握基础知识。很难说他们要改掉面向对象解决问题的习惯有多难,但是需要函数式解决方案的问题应该迫使他们做出这一飞跃。在我看来,除非你遇到新问题,否则很难改变你的想法。总而言之,我会说我花了一周的时间在业余时间(每晚2-3小时)学习该语言的语法和基础知识。不过,您需要更多时间才能真正了解函数式编程。问题我仍
在花了很多时间阅读和思考之后,我想我终于掌握了monad是什么、它们如何工作以及它们有什么用处。我的主要目标是弄清楚monad是否可以应用于我在C#中的日常工作。当我开始学习monad时,我的印象是它们很神奇,它们以某种方式使IO和其他非纯函数变得纯。我理解monad对于.Net中的LINQ之类的东西的重要性,并且Maybe对于处理不返回有效值的函数非常有用。我也很欣赏限制代码状态和隔离外部依赖的需要,我希望monad也能帮助解决这些问题。但我最终得出结论,用于IO和处理状态的monad是Haskell的必需品,因为Haskell没有其他方法可以做到这一点(否则,你无法保证顺序,并
我发现GraphQL是一种诱人的选择,可以将前端开发与API分离(可能非常适合我们公司,该公司为每个客户进行大量API定制)。但是,我不太清楚它是否已准备好用于.NET开发环境,或者它是否仍被视为一项早期技术?我也不知道它背后是否有更大的问题(例如N+1问题)。在.NET实现中对GraphQL有任何经验和指导吗? 最佳答案 一个月后这里没有答案这一事实应该说明了它的故事。我已将关注点从.NETFramework转移到.NETCore,在试用了可用的.NET库后,我很快就选择了基于TypeScript构建的API网关和更成熟的Face
我经常发现自己以某种方式与文件交互,但在编写代码后,我总是不确定它实际上有多健壮。问题是我不完全确定文件相关操作会如何失败,因此也不确定处理异常的最佳方式。简单的解决方案似乎只是捕获代码抛出的任何IOExceptions并向用户提供“无法访问的文件”错误消息,但是否有可能获得更细粒度的错误信息?有没有办法确定文件被另一个程序锁定等错误与由于硬件错误导致数据不可读之间的区别?给定以下C#代码,您将如何以用户友好(尽可能提供信息)的方式处理错误?publicclassIO{publicListReadFile(stringpath){FileInfofile=newFileInfo(pat
在VisualStudio2010中,有没有办法将GeneralDevelopmentSettings更改为C#DevelopmentSettings?我最初安装时忘记选择它。 最佳答案 点击工具点击导入和导出设置点击导入选定的环境设置保存当前设置点击默认设置文件夹下的C# 关于c#-VisualStudio从一般开发设置更改,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/145