Emm*_*mit 11 .net c# reference-source
PluralizationService当我发现奇怪的东西时,我正在浏览源头.在课堂上有几个反映不同复数规则的私人词典.例如:
private string[] _uninflectiveWordList =
new string[] {
"bison", "flounder", "pliers", "bream", "gallows", "proceedings",
"breeches", "graffiti", "rabies", "britches", "headquarters", "salmon",
"carp", "----", "scissors", "ch----is", "high-jinks", "sea-bass",
"clippers", "homework", "series", "cod", "innings", "shears", "contretemps",
"jackanapes", "species", "corps", "mackerel", "swine", "debris", "measles",
"trout", "diabetes", "mews", "tuna", "djinn", "mumps", "whiting", "eland",
"news", "wildebeest", "elk", "pincers", "police", "hair", "ice", "chaos",
"milk", "cotton", "pneumonoultramicroscopicsilicovolcanoconiosis",
"information", "aircraft", "scabies", "traffic", "corn", "millet", "rice",
"hay", "----", "tobacco", "cabbage", "okra", "broccoli", "asparagus",
"lettuce", "beef", "pork", "venison", "mutton", "cattle", "offspring",
"molasses", "shambles", "shingles"};
Run Code Online (Sandbox Code Playgroud)
字符串中的四个破折号组是什么?我没有看到他们在代码中看到处理,所以他们不是某种模板.我唯一能想到的就是那些被删失的咒骂('ch ---- is'将'是'底盘'),在这种情况下实际上是在损害可读性.有没有其他人遇到过这个?如果我对实际的完整列表感兴趣,我该如何查看?
从使用Reflector查看反编译代码,我可以验证编译版本中没有"----",并且它确实在某处确实是某种审查.反编译的代码在构造函数中有这个:
this._uninflectiveWordList = new string[] {
"bison", "flounder", "pliers", "bream", "gallows", "proceedings", "breeches", "graffiti", "rabies", "britches", "headquarters", "salmon", "carp", "herpes", "scissors", "chassis",
"high-jinks", "sea-bass", "clippers", "homework", "series", "cod", "innings", "shears", "contretemps", "jackanapes", "species", "corps", "mackerel", "swine", "debris", "measles",
"trout", "diabetes", "mews", "tuna", "djinn", "mumps", "whiting", "eland", "news", "wildebeest", "elk", "pincers", "police", "hair", "ice", "chaos",
"milk", "cotton", "pneumonoultramicroscopicsilicovolcanoconiosis", "information", "aircraft", "scabies", "traffic", "corn", "millet", "rice", "hay", "hemp", "tobacco", "cabbage", "okra", "broccoli",
"asparagus", "lettuce", "beef", "pork", "venison", "mutton", "cattle", "offspring", "molasses", "shambles", "shingles"
};
Run Code Online (Sandbox Code Playgroud)
你可以看到被删失的词是"疱疹","底盘"和"大麻"(如果我正确地遵循了).我个人认为这些都不需要审查,这表明它是某种自动化系统.我会假设原始源有它们而不是它们被添加到某种预编译合并中(如果没有别的因为"----"真的不足以说明它应该被替换的内容).我想,由于某种原因,参考网站会让他们受到审查.
Hans Passant在评论中也回答了一个非常相似的问题:在StringBuilder.ToString()的上下文中----是什么意思?.这解释了"已发布的参考源的源代码通过过滤器推送,该过滤器从源中删除令人反感的内容".