本文整理汇总了C#中String.Take方法的典型用法代码示例。如果您正苦于以下问题:C# String.Take方法的具体用法?C# String.Take怎么用?C# String.Take使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类String
的用法示例。
在下文中一共展示了String.Take方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Main
public static void Main(String[] args)
{
var sublime = @"C:\Program Files\Sublime Text 2\sublime_text.exe";
var home = new DirectoryInfo(@"%APPDATA%\Sublime Text 2".Expand());
var projects = new DirectoryInfo(home.FullName + @"\Projects");
var default_prj = null as String;
if (projects.Exists && projects.GetFiles("*.is.default").Length == 1) {
var default_file = projects.GetFiles("*.is.default")[0];
default_prj = Path.GetFileNameWithoutExtension(default_file.FullName);
default_prj = Path.GetFileNameWithoutExtension(default_prj);
if (args.Length == 0) args = new []{default_prj};
}
if (args.Length > 0) {
if (args[0] == "/new") {
args = args.Skip(1).ToArray();
var file0 = new FileInfo(args[0]);
var dir0 = new DirectoryInfo(args[0]);
if (file0.Exists) dir0 = file0.Directory;
FileInfo project = null;
if (args.Length > 2 && args[args.Length - 2] == "/name") {
project = new FileInfo(projects + "\\" + args[args.Length - 1] + ".sublime-project");
if (project.Exists) {
MessageBox.Show(String.Format("Project \"{0}\" already exists found. \r\n\r\n" +
"There already exists find project file {1}.", args[args.Length - 1], project.FullName),
"Sublime Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
args = args.Take(args.Length - 2).ToArray();
} else {
var idx = 0;
Func<FileInfo> gen = () => new FileInfo(projects + "\\" + dir0.Name + (idx == 0 ? "" : idx.ToString()) + ".sublime-project");
while (gen().Exists) idx++;
project = gen();
}
var lines = new List<String>();
lines.Add("{");
lines.Add(" \"folders\":");
lines.Add(" [");
for (var i = 0; i < args.Length; ++i) {
var file = new FileInfo(args[i]);
var dir = new DirectoryInfo(args[i]);
if (file.Exists) dir = file.Directory;
var dir_as_sublimepath = dir.FullName;
dir_as_sublimepath = dir_as_sublimepath.Replace("\\", "/");
dir_as_sublimepath = dir_as_sublimepath.Replace(":/", "/");
dir_as_sublimepath = "/" + dir_as_sublimepath;
lines.Add(" {");
lines.Add(" \"path\": \"" + dir_as_sublimepath + "\"");
lines.Add(" }");
if (i != args.Length - 1) lines[lines.Count - 1] = lines[lines.Count - 1] + ",";
}
lines.Add(" ]");
lines.Add("}");
project.WriteAllLines(lines);
lines = new List<String>();
lines.Add("{");
lines.Add(" \"build_system\": \"Packages/User/Myke.sublime-build\",");
lines.Add(" \"show_minimap\": false,");
lines.Add(" \"show_open_files\": true,");
lines.Add(" \"show_tabs\": true,");
lines.Add(" \"side_bar_visible\": true,");
lines.Add(" \"side_bar_width\": 256.0,");
lines.Add(" \"status_bar_visible\": true");
lines.Add("}");
var workspace = new FileInfo(Path.ChangeExtension(project.FullName, "sublime-workspace"));
workspace.WriteAllLines(lines);
args = new []{"--project", "\"" + project.FullName + "\""}.Concat(args).ToArray();
} else {
var file0 = new FileInfo(args[0]);
var dir0 = new DirectoryInfo(args[0]);
if (file0.Exists) dir0 = file0.Directory;
if (file0.Exists || dir0.Exists || args[0].Contains(".")) {
// don't do any postprocessing of args => open in current instance of sublime
// upd. the hack below is needed because "sublime file_name" is currently broken!!
var sublimeNotYetOpen = Process.GetProcesses().Where(process => process.ProcessName != null && process.ProcessName.EndsWith("sublime_text")).Count() == 0;
if (sublimeNotYetOpen) {
var project = new FileInfo(projects + "\\kep.sublime-project");
args = new []{"--project", "\"" + project.FullName + "\"", args[0]};
}
} else {
var project = new FileInfo(projects + "\\" + args[0] + ".sublime-project");
if (!project.Exists) {
MessageBox.Show(String.Format("Project \"{0}\" not found. \r\n\r\n" +
"Could not find project file {1}.", args[0], project),
"Sublime Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
} else {
if (args.Length == 2 && (args[1].ToLower() == "/reg" || args[1].ToLower() == "/register")) {
projects.GetFiles("*.is.default").ToList().ForEach(file => file.Delete());
var default_file = new FileInfo(Path.ChangeExtension(project.FullName, "is.default"));
//.........这里部分代码省略.........