-2

我有一段代码,我试图找出hash(#)字符串里面的内容。
以下是一段代码。

var key = string.Format( "{0}#{1}#{2}", value1, value2, value3);

if ( !instance.Map.ContainsKey( key ) )
{
   throw new Exception("Dear Customer, your  order cant be identified.");
}

我想我从来没有#用过C#

如果我没有提供value3它仍然可以找到密钥。因此我认为 # 表示强制或其中的一部分。

4

3 回答 3

6

没什么,假设您有,它们只会在输出字符串中:

var key = string.Format("{0}#{1}#{2}", 1, 2, 3);

您的输出字符串将是:

1#2#3

它 ( #) 将用作结果字符串中的符号。

于 2013-04-24T07:20:16.040 回答
0

在这里,开发人员希望#在值之间附加这个字符串。在这段代码中,C# 中的 # 没有特殊用途,所以不要因此而混淆自己。你的#输出可以是这样的

int value1= 1;
int value1= 1;
int value1= 1;
var key = string.Format( "{0}#{1}#{2}", value1, value2, value3);

Output:1#1#1

所以它只是字面上没什么特别的。

于 2013-04-24T07:24:02.647 回答
0

它只是文字输出的一部分,并没有被解释为任何特殊的东西。

如果您对此进行了测试,您会立即看到每个参数 ( {n}) 都被参数参数数组中指定的适当值替换,并且#保持原样 - 逐字输出。

于 2013-04-24T07:24:27.980 回答