Tag: string

DateTime.ParseExact字符串格式exception

我正在尝试使用以下C#代码将字符串转换为datetime, DateTime dTo = DateTime.ParseExact(dateTo, “mm/dd/yyyy”, CultureInfo.InvariantCulture); 每次我将dateTo传递给2010年1月1日它都会失败,而是需要字符串为01/01/2010。 我应该使用什么字符串格式来支持01/01/2010和1/1/2010?

C DLL中的PInvoke char *在C#中作为String处理。 null字符问题

C DLL中的函数如下所示: int my_Funct(char* input, char* output); 我必须从C#app调用它。 我这样做的方式如下: …DllImport stuff… public static extern int my_Funct(string input, string output); 输入字符串完美地传输到DLL(我有可见的certificate)。 function填写的输出虽然是错误的。 我有六进制数据,如: 3F-D9-00-01 但不幸的是,在两个零之后的所有内容都被剪切掉了,只有前两个字节来到我的C#应用​​程序。 它发生了,因为(我猜)它将它视为空字符并将其作为字符串的结尾。 任何想法我怎么能摆脱它? 我试图将它指定为IntPtr而不是字符串,但我不知道以后如何处理它。 我尝试过后: byte[] b1 = new byte[2]; Marshal.Copy(output,b1,0,2); 2通常应该是字节数组的长度。 但是我得到了各种错误:比如“请求的范围超出了数组的末尾”。 或“试图读取或写入受保护的内存……” 我感谢任何帮助。

C#字符串拆分

如果我有一个字符串: str1|str2|str3|srt4并用|解析它 作为分隔符。 我的输出是str1 str2 str3 str4 。 但是如果我有一个字符串: str1||str3|str4输出将是str1 str3 str4 。 我正在寻找的输出是str1 null/blank str3 str4 。 我希望这是有道理的。 string createText = “srt1||str3|str4”; string[] txt = createText.Split(new[] { ‘|’, ‘,’ }, StringSplitOptions.RemoveEmptyEntries); if (File.Exists(path)) { //Console.WriteLine(“{0} already exists.”, path); File.Delete(path); // write to file. using (StreamWriter sw = new StreamWriter(path, true, Encoding.Unicode)) { sw.WriteLine(“str1:{0}”,txt[0]); sw.WriteLine(“str2:{0}”,txt[1]); […]

用双反斜杠替换单反斜杠

看起来很简单吧? 好吧,我不知道。 这是我正在尝试的代码: input = Regex.Replace(input, “\\”, “\\\\\\”); 但是,我收到一个错误, ArgumentException未处理 – 在模式结束时解析“\” – 非法\。 我该怎么做呢?

比较字符串并获得它们彼此不同的第一个位置

我想得到第一个2字符串彼此不同的地方。 示例:对于这两个字符串:“AAAB”“AAAAC” 我想得到结果4。 我如何在C#中做到这一点?

使用字符串’@’和字符串变量

我有一个帮助类从XML文件中提取字符串。 该字符串是一个文件路径(因此它有反斜杠)。 我需要使用该字符串,因为它…我如何使用它像文字命令一样? 而不是这个: string filePath = @”C:\somepath\file.txt”; 我想做这个: string filePath = @helper.getFilePath(); //getFilePath returns a string 这不是我实际使用它的方式; 只是为了让我的意思更清晰一些。 有某种.ToLiteral()还是什么?

我应该使用字符串字段的串联作为哈希码吗?

我在C#中有一个Address类,如下所示: public class Address { public string StreetAddress { get; set; } public string RuralRoute { get; set; } public string City { get; set; } public string Province { get; set; } public string Country { get; set; } public string PostalCode { get; set; } } 我正在实现相等性,所以我需要覆盖哈希码。 起初我打算使用EJ的哈希码公式,但后来我想:这些都是字符串字段,我不能只使用StringBuilder连接它们并从该字符串返回哈希码吗? 那是: var str = new […]

在A点和B点之间提取字符串的一部分

我试图从电子邮件中提取一些东西。 电子邮件的一般格式始终是: blablablablabllabla hello my friend. [what I want] Goodbye my friend blablablabla 现在我做了: string.LastIndexOf(“hello my friend”); string.IndexOf(“Goodbye my friend”); 这将在它开始之前给我一点,并在它开始之后给出一个点。 我可以使用什么方法? 我发现: String.Substring(Int32, Int32) 但这只是起始位置。 我可以用什么?

无情地比较C#中的字符串

假设我有两个字符串:a和b。 为了比较在忽略大小写时a和是否具有相同的值,我总是使用: // (Assume a and b have been verified not to be null) if (a.ToLower() == b.ToLower()) 但是,使用Reflector,我在.NET Framework中已经看过几次: // (arg three is ignoreCase) if (string.Compare(a, b, true) == 0) 我测试哪个更快, ToLower() Compare()每次都用我使用的字符串击败Compare() 。 是否有理由Compare()而不是ToLower() ? 关于不同CultureInfo事情? 我在挠头。

根据hex值从字符串中删除特定字符

从平面文件导入数据时,我注意到有些行嵌入了非中断空格(Hex:A0)。 我想删除这些,但标准的string.replace似乎不起作用,并考虑使用正则表达式替换字符串,但不知道正则表达式将搜索删除它。 而不是将整个字符串转换为hex并检查它,是否有更好的方法?