using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
namespace autoClassName
{
class Program
{
[STAThread]
static void Main(string[] args)
{
string sss = null;
while (true)
{
Console.Write("->");
sss = Console.ReadLine();
if (sss == "")
{
}
else
{
string last = deal2(sss);
last = last.Substring(4, last.Length-4);
last = last + "Test";
System.Windows.Forms.Clipboard.SetDataObject(last, true);
Console.WriteLine("->" + last);
}
}
}
//统计下划线数量
private static int countunderline(string classname)
{
int num = 0;
char[] classname_c = classname.ToCharArray();
for (int i = 0; i < classname_c.Length; i++)
{
if (classname_c[i].Equals('_'))
{
num++;
}
}
return num;
}
//处理
private static string deal(string classname)
{
int num = countunderline(classname);
int count=0;
int length = classname.Length;
char[] classname_c = classname.ToCharArray();
string classnamelast_s=null;
for (int i = 0; i < length; i++)
{
char c = classname_c[i];
if (i == 0)
{
classnamelast_s += char.ToUpper(c).ToString();
}
else
{
if (c == '_')
{
count++;
if (i < length - 1)
{
i = i + 1;
}
classnamelast_s += char.ToUpper(classname_c[i]).ToString();
}
else
{
if (count < num)
{
classnamelast_s += char.ToLower(c).ToString();
}
else
{
classnamelast_s += c.ToString();
}
}
}
}
return classnamelast_s;
}
//处理
private static string deal2(string classname)
{
int num = countunderline(classname);
int count = 0;
int length = classname.Length;
char[] classname_c = classname.ToCharArray();
string classnamelast_s = null;
string last = null;
for (int i = 0; i < length; i++)
{
char c = classname_c[i];
if (i == 0)
{
classnamelast_s += char.ToUpper(c).ToString();
}
else
{
if (c == '_')
{
count++;
if (i < length - 1)
{
i = i + 1;
}
classnamelast_s += char.ToUpper(classname_c[i]).ToString();
}
else
{
if (count < num)
{
classnamelast_s += char.ToLower(classname_c[i]).ToString();
}
else
{
last += classname_c[i].ToString();
}
}
}
}
//判断是否为小写
char[] lastAarry = last.ToCharArray();
if (lastAarry[0] == char.ToLower(lastAarry[0]))
{
}
else
{
last = null;
for (int i = 0; i < lastAarry.Length; i++)
{
last += lastAarry[i].ToString();
}
}
return classnamelast_s+last;
}
}
}