Tag: C#的

截断string在.NET中的整个单词C#

我试图截断C#中的一些长文本,但我不希望我的string被切断一半的一个字。 有没有人有一个function,我可以用来截断我的string在一个字的末尾? 例如: "This was a long string…" 不: "This was a long st…"

在.NET中按创builddate获取文件

我有一个包含许多文件的文件夹。 有什么简单的方法来获取目录中的文件名称按其创builddate/时间sorting? 如果我使用Directory.GetFiles() ,它将返回按文件名sorting的文件。

在String之前的C#'@'

可能重复: 什么是在.NET的string前的@ 我在C#学习书中find了这个 DirectoryInfo dir = new DirectoryInfo(key.Key.ToString() + @":\"); 但是这本书没有解释“@”符号是什么。 我试图searchMSDN C#运营商,但没有在那里列出。 我可以猜测,它允许开发人员不必逃避一个'\'或它允许没有任何转义序列? 这是什么,为什么我会使用@":\"而不是":\\" ? 谢谢您的帮助 编辑:请参阅下面的评论类似的问题

如何折叠If,Else,For,Foreach等子句?

我有时会遇到非常长的子句,我正在寻找一种方法,让我可以折叠它们,就像我可以折叠类,方法和命名空间一样。 有没有一个Visual Studio扩展可以做到这一点? ReSharper和JustCode都不允许。 谢谢!

如何在WinForms中控制对接顺序

正如标题所述,我正在寻找一种方法来控制项目停靠到我的控件顶部的顺序。 我已经和Windows窗体devise师一起玩过了,我似乎找不到RightClick->Order->SendToFront在做什么,因为那正是我想要发生的事情。 就我所能发生的事情而言,当我把我的内容添加到我的控制中时,最新的内容总是在最上面,我希望较新的内容在底部,最旧的内容在最佳。 简介:在WinForms(C#)中是否有一种简单的方法来控制事物停靠在控件两侧的顺序? 编辑:我必须从背后的代码做到这一点,因为我添加我的控件,我不能使用WinForm的devise器的任何function,但我想要做的是模仿WinFormsdevise器SendToBack和SendToFrontfunction

在C#中的两个DateTime之间获取所有DateTime

我有两个DateTime ,我想在这些date之间获得所有date时间。 例如,如果我的date类似01.01.2010 – 05.01.2010,我的函数应该返回一个date列表(List),并且它必须包含01.01.2010,02.01.2010,03.01.2010,0.01.2010和05.01.2010。 我写了这样的function。 如果我的date在一个月内,它工作正常。 如果我的date是01.01.2010 – 05.02.2010,那么这将不起作用。 因为月份改变了,我的function无法处理。 在C#中有一个函数返回两个date之间的所有date? 或者我如何处理月份变化? public void GetAllDatesAndInitializeTickets(DateTime startingDate, DateTime endingDate) { List<DateTime> allDates = new List<DateTime>(); int starting = startingDate.Day; int ending = endingDate.Day; for (int i = starting; i <= ending; i++) { allDates.Add(new DateTime(startingDate.Year, startingDate.Month, i)); } 问题解决了,请参阅Tim Robinson简单的使用答案。

有没有一个“String.Format”,可以接受命名input参数,而不是索引占位符?

这是我所知道的 str = String.Format("Her name is {0} and she's {1} years old", "Lisa", "10"); 但我想要的东西 str = String("Her name is @name and she's @age years old"); str.addParameter(@name, "Lisa"); str.addParameter(@age, 10);

fork()和输出

我有一个简单的程序: int main() { std::cout << " Hello World"; fork(); } 程序执行后我的输出是: Hello World Hello World 。 为什么这会发生,而不是一个单一的Hello world ? 我猜测subprocess是在幕后重新运行的,输出缓冲区是在进程之间共享的,或者是沿着这些线的东西,但是这种情况还是发生了什么?

“literal”这个词是什么意思?

在文本string和文字值等上下文中,“literal”这个词是什么意思? 字面值和值之间有什么区别?

Switch机箱中额外支架的用途是什么?

我很好奇这件事…看例子: switch(x) { case(a): { //do stuff } break; case(b): //do stuff break; } 我所做的一切,就像情况b一样,但是因为C#允许我使用它,所以Visual Studio允许我把这个东西折叠起来,我很好奇 – case a(带大括号)和case b ?