What is the differ between string.Join & string.Concat similarly what is the diff between string.Equals & string.Compare
Show me with some example for each. I already searched but didn't understand.
Thanks in Advance.
What is the differ between string.Join & string.Concat similarly what is the diff between string.Equals & string.Compare
Show me with some example for each. I already searched but didn't understand.
Thanks in Advance.
这两种方法非常相关。虽然尚未完成,但可以使用 compareTo 实现 equals:
public boolean equals(Object o)
{
if (this == anObject)
{
return true;
}
if (o instanceof String)
{
String s = (String)o;
return compareTo(s) == 0;
}
return false;
}
此外, s1.equals(s2) == true 意味着 s1.compareTo(s2) == 0 (反之亦然),而 s1.equals(s2) == false 意味着 s1.compareTo(s2) != 0 (反之亦然)反之亦然)。
但是,这很重要,并非所有课程都必须如此。它适用于字符串,但没有规则禁止其他类使用不同的自然顺序。
连接字符串的程序 [C#]
使用系统;
class Program
{
static void Main()
{
string[] arr = { "one", "two", "three" };
// "string" can be lowercase, or...
Console.WriteLine(string.Join(",", arr));
// ... "String" can be uppercase:
Console.WriteLine(String.Join(",", arr));
}
}
输出 - 一、二、三 一、二、三
连接:
using System;
class Program
{
static void Main()
{
// 1.
// New string called s1.
string s1 = "string2";
// 2.
// Add another string to the start.
string s2 = "string1" + s1;
// 3.
// Write to console.
Console.WriteLine(s2);
}
}
输出 - string1string2
在 .NET 4.0 中,String.Join() 在内部使用 StringBuilder 类,因此效率更高。而 String.Concat() 使用“+”使用 String 的基本连接,这当然不是一种有效的方法,因为 String 是不可变的。
我比较了 .NET 2.0 框架中的 String.Join() ,它的实现不同(它没有在 .NET 2.0 中使用 StringBuilder)。但是在 .NET 4.0 中,String.Join() 在内部使用 StringBuilder(),因此它就像 StringBuilder() 之上的简单包装器,用于字符串连接。
Microsoft 甚至建议对任何字符串连接使用 StringBuilder 类。