Case swapping

Case swapping

Description:

Given a string, swap the case for each of the letters.

e.g. CodEwArs --> cODeWaRS

Examples

Kata.Swap("") == ""
Kata.Swap("CodeWars") == "cODEwARS"
Kata.Swap("abc") == "ABC"
Kata.Swap("ABC") == "abc"
Kata.Swap("123235") == "123235"

 

复制代码
using System;
using System.Linq;

public static class Kata 
{
 public static string Swap(string str)
        {
            return string.Join(string.Empty, str.Select(character => char.IsLower(character) ? char.ToUpper(character) : char.IsUpper(character) ? char.ToLower(character) : character));
        }

        //public static string Swap(string str)
        //{
        //    str = string.Join(string.Empty, str.Select(Selector));
        //    return str; //your code here
        //}

        //public static char Selector(char character)
        //{
        //    char tempCharacter = character;
        //    if (char.IsLower(character))
        //    {
        //        tempCharacter = char.ToUpper(character);
        //    }
        //    else if (char.IsUpper(character))
        //    {
        //        tempCharacter = char.ToLower(character);
        //    }
        //    return tempCharacter;
        //}   
}
复制代码

 

其他人的解法

需要学习的是:char.ToUpper以及char.ToLower本身可以处理非大小写的字符,不需要另外多一个判断

using System;
using System.Linq;

public static class Kata {
  public static string Swap(string str) {
    return String.Concat(str.Select(c => Char.IsUpper(c) ? Char.ToLower(c) : Char.ToUpper(c)));
  }
}

 

作者:Chuck Lu    GitHub    
posted @   ChuckLu  阅读(300)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2014-07-09 zedgraph多个graphpane的处理
点击右上角即可分享
微信分享提示