A Collection of Code Snippets in as Many Programming Languages as Possible
This project is maintained by TheRenegadeCoder
Welcome to the Rot13 in C# page! Here, you'll find the source code for this program as well as a description of how the program works.
using System;
using System.Collections.Generic;
using System.Linq;
namespace SamplePrograms
{
public class Rot13
{
static List<char> Lowers = "abcdefghijklmnopqrstuvwxyz".ToCharArray().ToList();
static List<char> Uppers = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray().ToList();
public static string Encrypt(string str) =>
string.Join("", str.ToCharArray().Select(c => Encrypt(c)));
public static Char Encrypt(char c)
{
List<char> ltrs;
if (char.IsUpper(c))
ltrs = Uppers;
else if (char.IsLower(c))
ltrs = Lowers;
else
return c;
var newIndex = (ltrs.IndexOf(c) + 13) % 26;
return ltrs[newIndex];
}
public static void ExitWithError()
{
Console.WriteLine("Usage: please provide a string to encrypt");
Environment.Exit(1);
}
public static void Main(string[] args)
{
try
{
var str = args[0];
if (String.IsNullOrEmpty(str))
ExitWithError();
var result = Encrypt(str);
Console.WriteLine(result);
}
catch
{
ExitWithError();
}
}
}
}
If you see anything you'd like to change or update, please consider contributing.
Note: The solution shown above is the current solution in the Sample Programs repository as of Apr 06 2019 00:37:26. The solution was first committed on Dec 30 2018 02:35:38. As a result, documentation below may be outdated.
No 'How to Implement the Solution' section available. Please consider contributing.
No 'How to Run the Solution' section available. Please consider contributing.