草庐IT

c# - 为什么 Guid.ToString ("n") 与从同一 guid 的字节数组生成的十六进制字符串不同?

考虑以下单元测试:[TestMethod]publicvoidTestByteToString(){varguid=newGuid("61772f3ae5de5f4a8577eb1003c5c054");varguidString=guid.ToString("n");varbyteString=ToHexString(guid.ToByteArray());Assert.AreEqual(guidString,byteString);}privateStringToHexString(Byte[]bytes){varhex=newStringBuilder(bytes.Length*

c# - 将对象序列化为不带\r\n 特殊字符的 xml 和字符串

我想将我的对象序列化为xml,然后再序列化为字符串。publicclassMyObject{[XmlElement]publicstringName[XmlElement]publicstringLocation;}我想获得一个单行字符串,它会像这样:VladimirMoskov我正在使用这样的代码:XmlWriterSettingssettings=newXmlWriterSettings();settings.OmitXmlDeclaration=true;settings.Indent=true;StringWriterStringWriter=newStringWriter()

c# - c#生成一系列加起来为N的随机数

如何在C#中生成30个1-9之间的随机数,所有这些数加起来等于200(或任意N)?我正在尝试生成一串可以加在一起为N的数字。 最佳答案 我不确定这方面的统计数据是什么,但是,这里的问题是您不想随机选择一个数字,这使得无法通过超调或欠调将N与M个条目相加。以下是我的做法:staticvoidMain(){intcount=30;int[]numbers=getNumbers(count,155);for(intindex=0;indextotal||UPPERBOUNDUPPERBOUND?UPPERBOUND:calc;result

c# - 一个只允许N个并发线程的函数

我有一个VisualStudio2008C#.NET3.5项目,其中一个类监听来自另一个多线程类的事件调用。我需要确保我的事件最多只允许同时访问10个线程。第11个线程应该阻塞,直到10个线程中的一个完成。myobj.SomeEvent+=OnSomeEvent;privatevoidOnSomeEvent(objectsender,MyEventArgsargs){//allowupto10threadssimultaneousaccess.Blockthe11ththread.using(SomeThreadLocklock=newSomeThreadLock(10)){DoUse

C#如何Regex.Replace "\r\n"(实际字符,不是换行符)

我正在使用几个c#正则表达式清理一些可怕的文本。一个让我难过的问题是文本中有许多'\r\n'字符串,实际字符不是换行符。我试过:content=Regex.Replace(content,"\\r\\n","");和:content=Regex.Replace(content,"\r\n","");但它们都不起作用。最后我不得不使用:content=content.Replace("\\r\\n","\r\n");为了完成项目,但无法在正则表达式中完成它让我很烦。 最佳答案 \r和\n在Regex中也有特殊含义,因此需要对反斜杠进行

c# - 如何在 C# 中删除字符串中的前 n 行?

如何删除字符串中的前n行?例子:Stringstr=@"abcde";Stringoutput=DeleteLines(str,2)//Outputis"c//d//e" 最佳答案 您可以使用LINQ:Stringstr=@"abcde";intn=2;string[]lines=str.Split(Environment.NewLine.ToCharArray()).Skip(n).ToArray();stringoutput=string.Join(Environment.NewLine,lines);//Outputis//"

c# - 为什么 Environment.NewLine = "\r\n"而字符串文字中的 "\n"功能相同?

在C#中,如果您执行类似stringnewLine=Environment.NewLine;的操作并检查newLine的值,您会发现它是"\r\n”。但是,如果我做类似的事情;string[]test=newstring[]{"one","two","three"};Console.WriteLine("Withplainslashn:");Console.Write(String.Join("\n",test));Console.WriteLine("\nWithEnvironment.NewLine:");Console.Write(String.Join(Environment.

c# - 如何从 List<T> 中跳过(m).take(n)?

给定:Listlist=newList{1,2,3,4,5,6,7,8,9,10};如何实现以下代码?varlist2=list.skip(2).take(5); 最佳答案 只要您在using语句中包含System.Linq(并修复您的方法名称.Skip(2)和),您的示例代码就可以正常工作。取(5)).您的代码无法开箱即用的原因是.Skip和.Take是找到的扩展方法(与List类中定义的方法相反)在“System.Linq”命名空间中。 关于c#-如何从List中跳过(m).take

c# - 使用 StreamWriter 不起作用\n (C#)

我的C#StreamWriter有问题。我使用以下代码://ConstructorpublicEditorTXTFile{FileStreamf=File.Create(System.IO.Directory.GetCurrentDirectory()+"\\Output.txt");f.Close();}//FunctionAddTextpublicvoidAddLogFileText(stringtext){stringtext="l1\n\rl2\n\rl3\n\nl5";StreamWriterwriter=newStreamWriter(System.IO.Directory

c# - 查找十进制数中 n 位置的数字的最佳方法是什么?

背景我正在研究一个对称舍入类,我发现我对如何最好地找到我将舍入的位置x处的数字感到困惑。我确信有一种有效的数学方法可以找到单个数字并将其返回,而无需求助于字符串解析。问题假设,我有以下(C#)伪代码:varposition=3;varvalue=102.43587m;//Iwantthisno↑(thatis5)protectedstaticintFindNDigit(decimalvalue,intposition){//ThissnippetiswhatIamsearchingfor}此外,值得注意的是,如果我的值是整数,我将需要为FindNDigit的结果返回一个零。有没有人对我