Skip to content

Instantly share code, notes, and snippets.

@azureskydiver
Created November 9, 2019 02:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save azureskydiver/0be58faa4d0d0ae35cafd7923f7c6a2c to your computer and use it in GitHub Desktop.
Save azureskydiver/0be58faa4d0d0ae35cafd7923f7c6a2c to your computer and use it in GitHub Desktop.
Refactoring of GetHebrewConcat()
public static string GetHebrewConcat(char[] charRange, string codeToPoint, Tuple<string, string, string> tupleOfStrings, string separator)
{
string[] col_OfConcatValues = { };
var charArr = tupleOfStrings.Item2.ToCharArray();
int spins = 0;
foreach (char eChar in charArr)
{
switch (HasHebrew(eChar, false, false, charRange))
{
case true:
spins++;
if (tupleOfStrings.Item2.Length.Equals(spins))
{ return string.Join(separator, tupleOfStrings.Item1, string.Concat(codeToPoint, tupleOfStrings.Item2, codeToPoint), tupleOfStrings.Item3); }
break;
case false:
spins++;
if (tupleOfStrings.Item2.Length.Equals(spins))
{ return string.Join(separator, tupleOfStrings.Item1, tupleOfStrings.Item2, tupleOfStrings.Item3); }
break;
}
}
return string.Empty;
}
public static string GetHebrewConcat2(char[] charRange, string codeToPoint, Tuple<string, string, string> tupleOfStrings, string separator)
{
var charArr = tupleOfStrings.Item2.ToCharArray();
int spins = 0;
foreach (char eChar in charArr)
{
if (HasHebrew(eChar, false, false, charRange))
{
spins++;
if (tupleOfStrings.Item2.Length == spins)
{
return string.Join(separator, tupleOfStrings.Item1, string.Concat(codeToPoint, tupleOfStrings.Item2, codeToPoint), tupleOfStrings.Item3);
}
}
else
{
spins++;
if (tupleOfStrings.Item2.Length == spins)
{
return string.Join(separator, tupleOfStrings.Item1, tupleOfStrings.Item2, tupleOfStrings.Item3);
}
}
}
return string.Empty;
}
public static string GetHebrewConcat3(char[] charRange, string codeToPoint, Tuple<string, string, string> tupleOfStrings, string separator)
{
var charArr = tupleOfStrings.Item2.ToCharArray();
int spins = 0;
foreach (char eChar in charArr)
{
spins++;
if (tupleOfStrings.Item2.Length == spins)
{
if (HasHebrew(eChar, false, false, charRange))
{
return string.Join(separator, tupleOfStrings.Item1, string.Concat(codeToPoint, tupleOfStrings.Item2, codeToPoint), tupleOfStrings.Item3);
}
else
{
return string.Join(separator, tupleOfStrings.Item1, tupleOfStrings.Item2, tupleOfStrings.Item3);
}
}
}
return string.Empty;
}
public static string GetHebrewConcat4(char[] charRange, string codeToPoint, Tuple<string, string, string> tupleOfStrings, string separator)
{
var charArr = tupleOfStrings.Item2.ToCharArray();
int spins = 0;
foreach (char eChar in charArr)
{
spins++;
}
if (spins > 0 && tupleOfStrings.Item2.Length == spins)
{
if (HasHebrew(charArr[spins - 1], false, false, charRange))
{
return string.Join(separator, tupleOfStrings.Item1, string.Concat(codeToPoint, tupleOfStrings.Item2, codeToPoint), tupleOfStrings.Item3);
}
else
{
return string.Join(separator, tupleOfStrings.Item1, tupleOfStrings.Item2, tupleOfStrings.Item3);
}
}
return String.Empty;
}
public static string GetHebrewConcat5(char[] charRange, string codeToPoint, Tuple<string, string, string> tupleOfStrings, string separator)
{
var charArr = tupleOfStrings.Item2.ToCharArray();
int spins = charArr.Length;
if (spins > 0 && tupleOfStrings.Item2.Length == spins)
{
if (HasHebrew(charArr[spins - 1], false, false, charRange))
{
return string.Join(separator, tupleOfStrings.Item1, string.Concat(codeToPoint, tupleOfStrings.Item2, codeToPoint), tupleOfStrings.Item3);
}
else
{
return string.Join(separator, tupleOfStrings.Item1, tupleOfStrings.Item2, tupleOfStrings.Item3);
}
}
return string.Empty;
}
public static string GetHebrewConcat6(char[] charRange, string codeToPoint, Tuple<string, string, string> tupleOfStrings, string separator)
{
var charArr = tupleOfStrings.Item2.ToCharArray();
if (charArr.Length == 0)
return String.Empty;
if (HasHebrew(charArr[charArr.Length - 1], false, false, charRange))
{
return string.Join(separator, tupleOfStrings.Item1, string.Concat(codeToPoint, tupleOfStrings.Item2, codeToPoint), tupleOfStrings.Item3);
}
else
{
return string.Join(separator, tupleOfStrings.Item1, tupleOfStrings.Item2, tupleOfStrings.Item3);
}
}
public static string GetHebrewConcat7(char[] charRange, string codeToPoint, Tuple<string, string, string> tupleOfStrings, string separator)
{
var charArr = tupleOfStrings.Item2.ToCharArray();
if (charArr.Length == 0)
return String.Empty;
string middle;
if (HasHebrew(charArr[charArr.Length - 1], false, false, charRange))
{
middle = string.Concat(codeToPoint, tupleOfStrings.Item2, codeToPoint);
}
else
{
middle = tupleOfStrings.Item2;
}
return string.Join(separator, tupleOfStrings.Item1, middle, tupleOfStrings.Item3);
}
public static string GetHebrewConcat8(char[] charRange, string codeToPoint, Tuple<string, string, string> tupleOfStrings, string separator)
{
var charArr = tupleOfStrings.Item2.ToCharArray();
if (charArr.Length == 0)
return String.Empty;
string middle = tupleOfStrings.Item2;
if (HasHebrew(charArr[charArr.Length - 1], false, false, charRange))
{
middle = string.Concat(codeToPoint, middle, codeToPoint);
}
return string.Join(separator, tupleOfStrings.Item1, middle, tupleOfStrings.Item3);
}
public static string GetHebrewConcat9(char[] charRange, string codeToPoint, Tuple<string, string, string> tupleOfStrings, string separator)
{
string middle = tupleOfStrings.Item2;
var charArr = middle.ToCharArray();
if (middle.Length == 0)
return String.Empty;
if (HasHebrew(charArr[charArr.Length - 1], false, false, charRange))
{
middle = string.Concat(codeToPoint, middle, codeToPoint);
}
return string.Join(separator, tupleOfStrings.Item1, middle, tupleOfStrings.Item3);
}
public static string GetHebrewConcat10(char[] charRange, string codeToPoint, Tuple<string, string, string> tupleOfStrings, string separator)
{
string middle = tupleOfStrings.Item2;
if (middle.Length == 0)
return String.Empty;
if (HasHebrew(middle[middle.Length - 1], false, false, charRange))
{
middle = string.Concat(codeToPoint, middle, codeToPoint);
}
return string.Join(separator, tupleOfStrings.Item1, middle, tupleOfStrings.Item3);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment