Tag: string

在任何地方查找枚举都将转换为字符串

我正在尝试在解决方案中随处找到特定枚举转换为字符串的方法,无论是否显式调用ToString()。 (这些正被替换为使用枚举描述的转换,以改善混淆。) 示例:我想找到一些代码,例如string str = “Value: ” + SomeEnum.someValue; 我已经尝试用包装类替换enum本身,包含隐式转换到枚举类型并覆盖包装类中的ToString(),但是当我尝试搜索ToString()覆盖的使用时,它给了我一个位置列表在任何东西上调用ToString()的解决方案(只有在显式调用它的地方)。 搜索是在Visual Studio中使用ReSharper完成的。 有没有其他方法可以找到这些枚举到字符串的转换? 手动完成整个解决方案听起来并不是很有趣。

这是C#中将分隔字符串转换为int数组的最佳方法吗?

给出以下字符串: string str = “1,2,3”; 这是将它转换为int数组的最佳扩展吗? static class StringExtensions { public static int[] ToIntArray(this string s) { return ToIntArray(s, ‘,’); } public static int[] ToIntArray(this string s, char separator) { string[] ar = s.Split(separator); List ints = new List(); foreach (var item in ar) { int v; if (int.TryParse(item, out v)) ints.Add(v); } return ints.ToArray(); […]

将可能以null结尾的ascii byte 转换为字符串的最快方法?

我需要将一个(可能)以null结尾的ascii字节数组转换为C#中的字符串,我发现这样做的最快方法是使用下面显示的UnsafeAsciiBytesToString方法。 此方法使用String.String(sbyte *)构造函数,该构造函数在其备注中包含警告: “假设value参数指向一个数组,该数组表示使用默认ANSI代码页编码的字符串(即Encoding.Default指定的编码方法)。 注意: *因为默认的ANSI代码页是系统相关的,所以此构造函数从相同的有符号字节数组创建的字符串可能在不同的系统上有所不同。 * …… *如果指定的数组不以null结尾,则此构造函数的行为取决于系统。 例如,这种情况可能会导致访问冲突。 * “ 现在,我很肯定字符串编码的方式永远不会改变……但是我的应用程序运行的系统上的默认代码页可能会改变。 那么,为什么我不应该为使用String.String(sbyte *)而尖叫呢? using System; using System.Text; namespace FastAsciiBytesToString { static class StringEx { public static string AsciiBytesToString(this byte[] buffer, int offset, int maxLength) { int maxIndex = offset + maxLength; for( int i = offset; i < maxIndex; i++ ) { /// […]

C#在字符串中找到完全匹配

如何在字符串中搜索完全匹配? 例如,如果我有一个包含此文本的字符串: 标签 标签: 标签 我搜索标签,我只想得到第一场比赛,而不是其他两场比赛。 我尝试了Contains和IndexOf方法,但他们也给了我第二和第三场比赛。

如何将xml字符串读入XMLTextReader类型

我有一个XML字符串。 我需要将此字符串转换为dotnet中的XMLTextReader (System.Xml.XMLTextReader)类型。 我使用了以下代码: string szInputXml = “testing” ; XmlTextReader reader = new XmlTextReader(new System.IO.StringReader(szInputXml)); 但执行后读取器内的字符串为空。 请帮我弄清楚需要做什么才能用给定的字符串填充XMLTextReader。

将C ++字符串发送到C#字符串。 互操作

我是跨流程沟通的新手,需要一些帮助。 我希望能够将C ++程序中的字符串发送到C#程序。 我的问题是结果字符串是乱码。 这是我的代码: 发送程序(C ++): void transmitState(char* myStr) { HWND hWnd = ::FindWindow(NULL, _T(“myApp v.1.0”)); if (hWnd) { COPYDATASTRUCT cds; ::ZeroMemory(&cds, sizeof(COPYDATASTRUCT)); cds.dwData = 0; cds.lpData = (PVOID) myStr; cds.cbData = strlen(myStr) + 1; ::SendMessage(hWnd, WM_COPYDATA, NULL, (LPARAM)&cds); } } 接收程序(C#)(我已经覆盖了WndProc): private void OnCopyData(ref Message m) { COPYDATASTRUCT cds = new COPYDATASTRUCT(); cds […]

在C#中每行读取一个字符串行

可能重复: 在.net中的换行符上拆分字符串的最简单方法? 我正在尝试读出并解释每行的字符串行。 我看了一下StringReader类,但是当我在最后一行时,我需要找出它。 这是我想要完成的一些伪代码: while (!stringReaderObject.atEndOfStream()) { interpret(stringReaderObject.readLine()); } 有人知道怎么做吗? 谢谢! 伊凡

将扩展方法添加到字符串类 – C#

不知道我在这里做错了什么。 无法识别扩展方法。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; using StringExtensions; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { RunTests(); } static void RunTests() { try { ///SafeFormat SafeFormat(“Hi There”); SafeFormat(“test {0}”, “value”); SafeFormat(“test missing second value {0} – {1}”, “test1”); SafeFormat(“{0}”); //regular format RegularFormat(“Hi There”); RegularFormat(“test {0}”, “value”); […]

将逗号分隔列表加入逗号分隔并用单引号括起来

List test = new List(); test.Add(“test’s”); test.Add(“test”); test.Add(“test’s more”); string s = string.Format(“‘{0}'”, string.Join(“‘,'”, test)); 现在s是’test’s’,’test’,’test’s more’但我需要用2个单引号替换内部引号 像这样: ‘test”s’,’test’,’test”s more’ 更新:我按照下面的方式工作,但如果可能的话,我希望更清洁。 string s = string.Format(“`{0}`”, string.Join(“`,`”, test)).Replace(“‘”, “””).Replace(“`”, “‘”);

您可以使用LINQ或LAMBDA表达式对一行中的字符串进行逆序处理

并不是说我想要实际使用它(出于很多原因),但出于严格的好奇心,我想知道是否有一种方法可以在一行代码中使用LINQ和/或LAMBDA表达式对字符串进行逆序,而不使用任何代码框架“反向”方法。 例如 string value = “reverse me”; string reversedValue = (….); 和reversedValue将导致“em esrever” 编辑显然,一个不切实际的问题/解决方案我知道这一点,所以不要担心它严格地是围绕LINQ / LAMBDA结构的好奇心问题。