1

我一直在想这个问题,似乎无法得到答案。

在 Windows 中(可能还有其他地方),大括号是什么意思?我猜它与十六进制有关,但不确定。

任何帮助,将不胜感激。

*更新

对不起,我没有像我应该做的那样具体。我在注册表中谈论它,但我也在文件夹路径中看到它。

4

6 回答 6

9

你的意思是花括号{}?它们只是字符,你可以很好地为它们分配你想要的任何含义,尽管它们在“平衡”情况下更有用,[]<>和相同()

例子是:

  • 某些编程语言中的块描述:
    if (true) { do something }
  • 某些编程语言中的数组初始化器:
    int x[] = { 1, 2, 3 };
  • 格式化打印,它们被替换为带有实际参数的格式字符串,例如:
    format ("My name is {1:s}{0:s}", "Diablo", "Pax");
  • 限制某些 shell 中环境变量名称中使用的字符:
    echo ${name}Diablo
  • GUID 的周围字符:
    {3F2504E0-4F89-11D3-9A0C-0305E82C3301}

毫无疑问,在其他场景中还有几十种用途,这些只是第一时间想到的。


由于您似乎特别询问 GUID(基于您的评论),您可以从这里开始。

于 2010-11-30T01:33:25.037 回答
1
  • 正则表达式中的重复:/a{3,5}/.

  • Perl 中的匿名哈希作曲家:my $rec = { };. 也适用于 Python 中的字典。

  • 用 C 或 Java 等语言对结构或数组进行数据分配:String data[] = { "TGF-βs", "XPTTD", "CIMPR", "CFU-F", "Qiagen", "BrdU-positive", "TSFLLRVYFQPGPPATAAPVPSPT", "Amersham", "DAPI-stained" };

  • Perl 解引用运算符:${ $array_of_refs[17} }.

  • Perl 中的哈希下标:$ENV{USER}

  • shell中的文件名通配符: % echo {this,that,those,these}_{here,there,everywhere}产生 this_here this_there this_everywhere that_here that_there that_everywhere those_here those_there those_everywhere these_here these_there these_everywhere

  • 隐藏分号,因为 aCTRL-{是 a ;。那是因为CONTROL-操作是 an xorwith an @\cC@^C== chr(3),所以\c{@^{== chr(59) eq ";"

  • 平衡的选择你自己的引号运算符以避免转义斜杠,例如print if m{^/usr/local/bin}

  • 历史替代消除歧义:“!{v}doc将明确扩展到vi wumpus.mandoc”</p>

  • 字符串中明确的八进制和十六进制转义,例如"10\o{377}01"and "The \x{bee} character is TAMIL DIGIT EIGHT"

  • 数学和音乐中使用的符号。

  • Perl 中特别鲜为人知的变量的名称:perl -le '$} = "eskimo"; print $}'prints eskimo

于 2010-11-30T01:45:38.390 回答
1

取决于使用情况。

在 C#{0}中是占位符;它被引用文本后面的值替换,即:

Console.WriteLine("Radius = {0}, PI = {1}", radius, PI);

请注意,第一个占位符始终是 0,下一个用法是 1,等等...

于 2010-11-30T02:28:01.617 回答
0

在编程中,花括号用于许多不同的事情。不同的语言在完全不同的上下文中使用它们。

如果您谈论的是 C++ 中的程序流,我喜欢将它们视为逐渐变得更加具体的层。例子:

string myName = "Max";

if (myName[0] == 'M') // If the first letter of myName is M...
{
    cout << "The first letter is M." << endl;

    if (myName.length() == 3) // If myName is three characters long...
    {
        cout << "myName is three chars long." << endl;

        if(myName[2] == 'x') // If the third letter is x...
        {
             cout << "The third letter is x." << endl;
        }
    }
}

它们也用于 C++ 中的数组赋值,如下所示:

int myArray[5] = {1, 2, 3, 4, 5};

还有其他用途,但这两种可能是最常见的。

于 2010-11-30T01:40:09.997 回答
0

在搜索 win 注册表值作为括号中的数字时遇到了这个问题。

事实证明,128 位数字保证在空间和时间上是唯一的,无需集中注册,并且“用于索引”“关于对象的信息”。您“可以查看系统上的注册信息”Regedit.exe /v

GUID 是使用 Guidgen.exe 工具创建的,该工具会生成一个“唯一标识对象”的非常大的十六进制数字,并存储在 Windows 注册表中(OLE 和应用程序从中获取有关类的信息)。

这是在 Windows 注册表中转换/解码 GUID/UUID/CLSID的示例代码。

于 2020-11-12T15:09:01.310 回答
0

符号 { } 用于计算机程序中,表示它们之间写的东西应该一起考虑。当然这是当前的字典定义

因此,这可能代表了您可能获得的最权威的总体定义,尽管其他答案已经处理了更具体的用例。

于 2016-05-06T19:46:58.737 回答