makeBackronym

makeBackronym  主要考查的是字符串的处理,大小写转换,以及字符串的Linq处理

Description:

Definition-

back·ro·nym

noun

a fanciful expansion of an existing acronym or word, such as “port out, starboard home” for posh.

You will create a function called makeBackronym . There will be a preloaded dictionary to use. The dictionary is an object where the the keys are letters A-Z and the values are a predetermined word.

Use the variable name (its name is written in the code template) to reference the uppercase letters of the dictionary.

EXAMPLE:

dict['P']=="perfect"

There will be a string(without spaces) passed into the function that you need to translate to a Backronym.

The preloaded dictionary can only read uppercase letters, and the value you return will have to be a string.

EXAMPLES:

"dgm" -> "disturbing gregarious mustache"

"lkj" -> "literal klingon joke"

using System;
public partial class Kata
{
  public static string MakeBackronym(string s)
  {
      s = s.ToUpper();
      string str = string.Empty;
      foreach(var item in s)
      {
          str += dict[item]+" ";
      }
      if(str.Equals(string.Empty)==false)
      {
         str = str.Substring(0,str.Length-1);
      }
      return str;
  }
}

其他解法:

涉及到string类的静态函数Join

以及string类的方法ToUpper  

以及Linq中的select

using System.Linq;

public partial class Kata
{
  public static string MakeBackronym(string s)
  {
    return string.Join(" ", s.ToUpper().Select(c => dict[c]));
  }
}
#region 程序集 System.Core.dll, v4.0.0.0
// C:Program Files (x86)Reference AssembliesMicrosoftFramework.NETFrameworkv4.0System.Core.dll
#endregion

namespace System.Linq
{
// 摘要:
// 提供一组用于查询实现 System.Collections.Generic.IEnumerable<T> 的对象的 static(在 Visual
// Basic 中为 Shared)方法。
public static class Enumerable

  {

public static IEnumerable<TResult> Select<TSource, TResult>(this IEnumerable<TSource> source, Func<TSource, TResult> selector);

   }
}
原文地址:https://www.cnblogs.com/chucklu/p/4611501.html