【问题标题】:String.Join and String.Split parameter mnemonicString.Join 和 String.Split 参数助记符
【发布时间】:2011-03-15 11:55:39
【问题描述】:

我每次都会遇到 C# 的 String.Join 和 String.Split 参数类型。问题是String.Split 采用params char[] 字符数组,而String.Join 采用string

有没有人有一个很好的助记符可以帮助我记住哪个需要哪个所以我不必每次都修复这个问题我做一个字符串操作?

[编辑,因为每个人似乎都对为什么我没有 IDE 支持感到困惑]

我在使用 LinqPad,就像这样,我大部分时间都在使用它:

String.Join("\n", @"LongRawString
WithPlentyOfLines
UsuallyGeneratedBySomeoneElse
OrProducedBySqlServerForExample".Split('\n').Select(x => 
    {
        x = x.Trim();

        //create line of code, like:
        return "int longRawStringIdx = reader.GetOrdinal(\"LongRawString\")";
    }))

我没有在 LinqPad 中获得 IDE 支持,并且希望节省我每次返回并修复它所需的几秒钟。这很愚蠢,但是我们程序员编写的用于自动化我们每天执行的 12 秒任务的脚本的一半也是如此。

问题是我搞砸了我是否应该给SplitstringJoinstring作为它的第一个参数(或仅在Split的情况下) .

【问题讨论】:

  • 您的问题到底是什么? IDE 显示接受的参数...
  • 你总是可以定义你自己的扩展方法,让它随心所欲地工作
  • String.Join 是静态的,另一个不是,你知道还不够吗?
  • 您没有获得 IDE 支持的情况不止一种。例如,我使用 linq pad 从其他数据生成代码(例如,使用 C# 的正则表达式支持的逐行操作比 Notepad++ 更强大)。但是,当您在 LinqPad 中工作时,除非您付费(我还没有),否则您没有 Intellisense。
  • 您仍然没有说明您的问题是什么。您是在使用字符串而不是 char 还是其他方式或完全使用其他方式?

标签: c# string mnemonics


【解决方案1】:

您可以这样想:您指定 一个 要加入的事物,但 几个 可能的分隔符要拆分。这样做是有道理的,因为输入字符串可能已经有很多分隔符,但是加入多个分隔符没有意义,因为 Join 方法每次都必须确定您指的是哪个分隔符。

不过我只会使用 Intellisense :)

【讨论】:

  • 这很有帮助。谢谢乔恩。我来自 C++/Python NLP 背景,我们要么推出自己的 Split/Join(在 C++ 中,因为我们要处理大量数据),要么我们使用 Python Split/Join,它是如此古怪以至于我记得它们立即。
猜你喜欢
  • 2019-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-27
相关资源
最近更新 更多