Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 字符串,逐字翻译_C#_String_List_Dictionary_Translation - Fatal编程技术网

C# 字符串,逐字翻译

C# 字符串,逐字翻译,c#,string,list,dictionary,translation,C#,String,List,Dictionary,Translation,我有一门课 class dictonary { public string English{get;set;} public string Hindi{get;set;} } 这里我有一个类词典列表,如list,在英语和印地语中有意思。 我想要的功能是 public string EngToHindi(string English) { private string hindi=""; //nepali = english =>Logic goes here r

我有一门课

class dictonary
{
  public string English{get;set;}
  public string Hindi{get;set;}
}
这里我有一个类词典列表,如
list
,在英语和印地语中有意思。 我想要的功能是

public string EngToHindi(string English)
{
   private string hindi="";
   //nepali = english =>Logic goes here
   return hindi;
}
如果我传递字符串,比如
“我的名字是Manoj。”
然后它必须返回“Mera Naam hai Manoj”

列表
我的数据如下

   English   Hindi
---------------------
    my        mera
    is        hai
    Name     naam

这里有一些可能有用的东西

Dictionary<string, string> EnglishHindiTranslations = null;

public void Populate()
{
    EnglishHindiTranslations = new Dictionary<string, string>();
    EnglishHindiTranslations.Add("my","mera");
    EnglishHindiTranslations.Add("is","hai");
    EnglishHindiTranslations.Add("Name","naam");
}

public string TranslateHindiToEnglish(string hindiWord)
{
    string value = EnglishHindiTranslations.FirstOrDefault(x => x.Value == hindiWord).Key;

    if(string.IsNullOrEmpty(value))
    {
         return hindiWord;
    }

    return value;
 }

public string TranslateEnglishToHindi(string englishWord)
{
    string value = EnglishHindiTranslations.FirstOrDefault(x => x.Key == englishWord).Value;

    if(string.IsNullOrEmpty(value))
    {
         return englishWord;
    }

    return value;
}
Dictionary englishHindTranslations=null;
公共空白填充()
{
EnglishHindTranslations=新词典();
英语独立翻译。添加(“我的”、“梅拉”);
加上“is”,“hai”);
加上(“姓名”、“纳姆”);
}
公共字符串翻译汉英(字符串印地语)
{
字符串值=EnglishHindTranslations.FirstOrDefault(x=>x.value==hindiWord).Key;
if(string.IsNullOrEmpty(value))
{
返回印地语;
}
返回值;
}
公共字符串翻译英语印地语(字符串英语单词)
{
字符串值=EnglishInditransactions.FirstOrDefault(x=>x.Key==englishWord).value;
if(string.IsNullOrEmpty(value))
{
返回英语单词;
}
返回值;
}

以下是一些可能有效的方法

Dictionary<string, string> EnglishHindiTranslations = null;

public void Populate()
{
    EnglishHindiTranslations = new Dictionary<string, string>();
    EnglishHindiTranslations.Add("my","mera");
    EnglishHindiTranslations.Add("is","hai");
    EnglishHindiTranslations.Add("Name","naam");
}

public string TranslateHindiToEnglish(string hindiWord)
{
    string value = EnglishHindiTranslations.FirstOrDefault(x => x.Value == hindiWord).Key;

    if(string.IsNullOrEmpty(value))
    {
         return hindiWord;
    }

    return value;
 }

public string TranslateEnglishToHindi(string englishWord)
{
    string value = EnglishHindiTranslations.FirstOrDefault(x => x.Key == englishWord).Value;

    if(string.IsNullOrEmpty(value))
    {
         return englishWord;
    }

    return value;
}
Dictionary englishHindTranslations=null;
公共空白填充()
{
EnglishHindTranslations=新词典();
英语独立翻译。添加(“我的”、“梅拉”);
加上“is”,“hai”);
加上(“姓名”、“纳姆”);
}
公共字符串翻译汉英(字符串印地语)
{
字符串值=EnglishHindTranslations.FirstOrDefault(x=>x.value==hindiWord).Key;
if(string.IsNullOrEmpty(value))
{
返回印地语;
}
返回值;
}
公共字符串翻译英语印地语(字符串英语单词)
{
字符串值=EnglishInditransactions.FirstOrDefault(x=>x.Key==englishWord).value;
if(string.IsNullOrEmpty(value))
{
返回英语单词;
}
返回值;
}

使用字典类。它工作得很好。这是您可以使用的完整程序。这很简单,它将定义整个生产线!!快乐编码!;)

类程序
{
私有静态字典;
静态void Main(字符串[]参数)
{
//初始化你的字典
myDictionary=新字典();
//查字典
//你应该填写,如果从文件或数据库或东西!
添加(“我的”、“梅拉”);
我的字典。加上(“is”,“hai”);
myDictionary.Add(“名称”、“naam”);
//要用英语定义的行:
string line=“我的名字是Shamim”;
//印地语输出定义行:
字符串输出=EngLineToHindi(行);
控制台写入线(输出);
Console.ReadKey();
}
静态字符串EngLineToHindi(字符串行)
{
//单词数组:
string[]words=line.Split(“”);
字符串ToReturn=“”;
foreach(单词中的字符串)
{
字符串temp=EngToHindi(word)+”;
t返回+=温度;
}
回归回归;
}
静态字符串EngToHindi(字符串EngWord)
{
字符串key1=EngWord;
//如果没有意思,返回相同的单词!
如果(!myDictionary.ContainsKey(key1))返回EngWord;
否则返回myDictionary[key1];
}
}

使用字典类。它工作得很好。这是您可以使用的完整程序。这很简单,它将定义整个生产线!!快乐编码!;)

类程序
{
私有静态字典;
静态void Main(字符串[]参数)
{
//初始化你的字典
myDictionary=新字典();
//查字典
//你应该填写,如果从文件或数据库或东西!
添加(“我的”、“梅拉”);
我的字典。加上(“is”,“hai”);
myDictionary.Add(“名称”、“naam”);
//要用英语定义的行:
string line=“我的名字是Shamim”;
//印地语输出定义行:
字符串输出=EngLineToHindi(行);
控制台写入线(输出);
Console.ReadKey();
}
静态字符串EngLineToHindi(字符串行)
{
//单词数组:
string[]words=line.Split(“”);
字符串ToReturn=“”;
foreach(单词中的字符串)
{
字符串temp=EngToHindi(word)+”;
t返回+=温度;
}
回归回归;
}
静态字符串EngToHindi(字符串EngWord)
{
字符串key1=EngWord;
//如果没有意思,返回相同的单词!
如果(!myDictionary.ContainsKey(key1))返回EngWord;
否则返回myDictionary[key1];
}
}

我在想,也许您希望利用实际的类来创建一个查找表。编辑:然后你会有类似于
字典英语印地语=。。。;字符串hindiWord=英语印地语[“我的”]我不认为这适用于更复杂的句子。@ChrisSinclair我认为这很好,但我对字典不太了解,所以我使用列表。您是否考虑过使用翻译API,如Google Translate?(我想需要一个web连接)@Sayse实际上这是我的问题的唯一情况,所以我需要使用创建我自己的api。我想也许你想利用实际的类来创建一个查找表。编辑:然后你会有类似于
字典英语印地语=。。。;字符串hindiWord=英语印地语[“我的”]我不认为这适用于更复杂的句子。@ChrisSinclair我认为这很好,但我对字典不太了解,所以我使用列表。您是否考虑过使用翻译API,如Google Translate?(我想需要一个网络连接)@Sayse事实上这是我问题的唯一情况,所以我需要使用create-my-own-api。哦,你应该在“控制台应用程序”中测试这个!哦,不过你应该在“控制台应用程序”中测试一下!