C#中替代PHP的explode/implode函数的方法是什么?

50
在 .NET Framework 中是否有类似于 explode/implode 的功能?还是我需要自己编写代码实现它呢?
3个回答

81

23

当前的答案并不完全正确,原因如下:

如果您拥有一个string[]类型的变量,那么一切都正常,但在PHP中,您也可以拥有KeyValue数组,让我们假设有这样一个数组:

$params = array(
    'merchantnumber' => "123456789", 
    'amount' => "10095", 
    'currency' => "DKK"
);

现在调用implode方法,代码如下:echo implode("", $params);输出结果为:

12345678910095DKK

现在让我们用C#来做同样的事情:

var kv = new Dictionary<string, string>() {
             { "merchantnumber", "123456789" },
             { "amount", "10095" },
             { "currency", "DKK" }
         };

使用String.Join("", kv),我们将得到

[merchantnumber, 123456789][amount, 10095][currency, DKK]

并不完全相同,对吧?

你需要使用的是集合中的值,记住这就是PHP所做的,例如:

String.Join("", kv.Values);

然后,是的,它将与PHP的implode方法相同

12345678910095DKK

您可以使用http://WriteCodeOnline.com/php/在线测试PHP代码。



公平地说,将字典的值连接起来并不是常见的用例。 - Brilliand
@Brilliand 当涉及到支付提供商和他们的安全时。 - balexandre

10

有两种方法对应于PHP的explode和implode方法。

PHP中的explode等价方法是String.Split。 PHP中的implode等价方法是String.Join


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接