Я не знаю вашего фона, но кроме бумаги, уже упомянутой jj1bdx, вы также можете дать тезис Джеспера Вильгельмсона .
Кстати, если вы хотите контролировать использование памяти в Erlang, чтобы сравнить его с, например, C ++ вы можете проверить:
Надеюсь, это поможет!
Свойство score иногда содержит значение с плавающей запятой, но в моем классе c # есть тип данных int , который вызывает исключение. Я не заметил раньше комментария @Ivan Salo . Изменение типа данных int на float исправило мою проблему. Я также использовал List для десериализации JSON, который предлагает @Jon Skeet в разделе комментариев.
public class DetectedLanguage
{
public string language { get; set; }
public float score { get; set; }
}
Отредактировано как полный ответ:
using Newtonsoft.Json;
class Program
{
public partial class RootObject
{
[JsonProperty("detectedLanguage")]
public DetectedLanguage DetectedLanguage { get; set; }
[JsonProperty("translations")]
public Translation[] Translations { get; set; }
}
public partial class DetectedLanguage
{
[JsonProperty("language")]
public string Language { get; set; }
[JsonProperty("score")]
public long Score { get; set; }
}
public partial class Translation
{
[JsonProperty("text")]
public string Text { get; set; }
[JsonProperty("to")]
public string To { get; set; }
}
public partial class RootObject
{
public static RootObject[] FromJson(string jsonresponse) => JsonConvert.DeserializeObject<RootObject[]>(jsonresponse);
}
static void Main(string[] args)
{
var response = client.SendAsync(request).Result;
var jsonResponse = response.Content.ReadAsStringAsync().Result;
var result = RootObject.FromJson(jsonResponse);
System.Console.WriteLine(result[0].DetectedLanguage.Language); //outputs "en"
}
}