使用c#中的字典和linq将英文数字替换为阿拉伯数字时出错

时间:2012-08-13 05:38:48

标签: c# linq dictionary

我已经使用字典和linq编写了一个函数来将英文编号替换为任何给定字符串中的阿拉伯数字。但功能并没有完全取代。例如,如果英国数字是12345,则阿拉伯语中的阿拉伯数字是12534或53214。可能是什么问题?

我的功能如下,

private Dictionary<string, string> NumbersInArabic()
{
    Dictionary<string, string> dictionary = new Dictionary<string, string>();

    dictionary.Add("0", "٠");
    dictionary.Add("1", "١");
    dictionary.Add("2", "٢");
    dictionary.Add("3", "٣");
    dictionary.Add("4", "٤");
    dictionary.Add("5", "٥");
    dictionary.Add("6", "٦");
    dictionary.Add("7", "٧");
    dictionary.Add("8", "٨");
    dictionary.Add("9", "٩");

    return dictionary;
}

private string ReplaceNumberTextToArabic(string text)
{
    var newstr = NumbersInArabic().Aggregate(text, (current, value) => current.Replace(value.Key, value.Value));
    return newstr.ToString();
}

1 个答案:

答案 0 :(得分:0)

我已经写好了你的方法,但我的工作正常。

我认为你的问题是其他地方。