gpt4 book ai didi

C#:将字典与英语以外的语言一起使用时出现问题

转载 作者:太空狗 更新时间:2023-10-30 00:36:24 24 4
gpt4 key购买 nike

好的,所以我主要是尝试将每行包含 1 个单词的 .txt 文件的内容加载到字典中。

当该文件中的单词是英文时,我没有遇到任何问题,但是将文件更改为带有重音符号的语言时,我开始遇到问题。

必须在创建流阅读器时更改编码,以及在将单词添加到字典时更改 ToLower 方法中的区域性。

基本上我现在有类似的东西:

if (!dict.ContainsKey(word.ToLower(culture)))
dict.Add(word.ToLower(culture), true);

问题是像“esta”和“está”这样的词被认为是一样的。那么,是否有任何方法可以将 ContainsKey 方法设置为特定语言,或者我们是否需要在可比较的行中实现一些东西?无论哪种方式,我都是 c# 的新手,所以请举个例子。

新文件淹没了另一个问题......在大约一百个单词后它停止添加文件的其余部分,留下一个不完整的单词......但我看不到那个单词中的任何特殊字符来结束执行方法,关于这个问题有什么想法吗?

非常感谢。

编辑:使用 Jon Skeet sugestion 解决了第一个问题。

关于第二个问题:好的,将文件格式更改为 UTF8 并删除流阅读器中的编码,因为它现在可以正确识别重音。现在正在测试有关第二期的一些内容。

第二个问题也解决了,这是我的一个错误...耻辱...

感谢大家的快速回答,尤其是 Jon Skeet。

最佳答案

我假设您正在尝试使字典不区分大小写。不要调用 ToLower,而是使用带有相等比较器的 Dictionary 的构造函数 - 并使用 StringComparer.Create(culture, true) 构造一个合适的比较器。

我不知道你的第二个问题是什么——我们需要更多的细节来诊断它,最好包括你正在使用的代码。

编辑:UTF-7 几乎肯定不是正确的编码。不要只是猜测编码;找出它的真正含义。这个文本文件是从哪里来的?在什么情况下可以成功打开?

我怀疑至少您的一些问题是由于使用 UTF-7 造成的。

关于C#:将字典与英语以外的语言一起使用时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2012738/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com