所以,我编写了这段代码来在json文件中运行字符串值,并确定它是否是回文。我无法在控制台中正确显示结果。我的Console.WriteLine是问题(我认为)。它显示对/错答案,但是我需要实际的字符串来显示。例如:“妈妈:是。”表示这是回文。有任何提示吗?
using System;
using System.Collections.Generic;
using System.Net;
using Newtonsoft.Json;
using System.Linq;
public class Program
{
public static void Main(string[] args)
{
//receive json from url
WebClient webClient = new WebClient();
WebClient n = new WebClient();
var json = n.DownloadString("https://raw.githubusercontent.com/bungard/PalindromeTest/master/string.json");
string valueOriginal = Convert.ToString(json);
//parse
Root palindromes = JsonConvert.DeserializeObject<Root>(json);
foreach (Palindromes pals in palindromes.Strings)
{
Console.WriteLine(pals.result = IsPalindrome(pals.str).ToString());**
}
}
public class Root
{
public List<Palindromes> Strings { get; set; }
}
public class Palindromes
{
public string str { get; set; }
public string result { get; set; }
}
public static bool IsPalindrome(string value)
{
char[] forwards = (from c in value.ToLower().ToCharArray() where char.IsLetter(c) select c).ToArray();
int middle = (forwards.Length / 2) + 1;
for (int i = 0; i < middle; i++)
if (forwards[i] != forwards[forwards.Length - 1 - i])
return false;
return true;
}
}
您应该对此感到满意:
pals.result = IsPalindrome(pals.str).ToString();
Console.WriteLine($"{pals.str}: {pals.result}");