// Letter "L" appears 5 times, once in uppercase:
string str = "Learning C# can be helpful all the time.";
int countL = str.Split('l').Length-1;
MessageBox.Show( "Found that many times: " + countL.ToString() );
Note: don't forget subtract 1 from the array length, since splitting will always give you one more element than the number of times the character separator was found in the string.
// Find all "L", regardless of letter casing:
string str = "Learning C# can be helpful all the time.";
int countL = str.ToLower().Split('l').Length-1;
MessageBox.Show( "Letter l count is: " + countL.ToString() );
string str = "The foxy fox jumps before dancing the Foxtrot.";
// Make search case-insensitive with optional third argument:
int fCount = Regex.Matches(str, "fox", RegexOptions.IgnoreCase).Count;
MessageBox.Show("Occurrences of 'fox' in str = " + fCount.ToString());
Tip: include appropriate namespace at the top, with "using System.Text.RegularExpressions;".
Update: you can split strings with another string using an indirect construct (array overload).