coding newbie here. I was practicing my C# to make a Caesar Cipher encoder. When I was making a method to encrypt my message, I got this error. (see it below).
Why am I getting this error?
I've tried to change the method return type to void. But then it says that it cannot convert void type to bool. Can I have some help here?
using System;
namespace CaesarCipher
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(Encrypt("hello"));
}
static string Encrypt(string message)
{
char[] alphabet = new char[] {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'};
string secretMessage = message.ToLower();
char[] secretMessageChar = secretMessage.ToCharArray();
char[] encryptedMessage = new char[secretMessageChar.Length];
for (int i = 0; i < secretMessage.Length; i++)
{
if (!Char.IsLetter(secretMessageChar[i]))
{
continue;
}
char letter = secretMessageChar[i];
int caesarLetterIndex = (Array.IndexOf(alphabet, letter) + 3) % 26;
char encryptedCharacter = alphabet[caesarLetterIndex];
encryptedMessage[i] = encryptedCharacter;
return String.Join("", encryptedMessage);
}
}
}
}
I expected the output to be something like 'khoor', but instead, it says this: Program.cs(12, 19): error CS0161: 'Prog)': not all code paths return a value