Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -14,6 +14,449 @@ app.logger = logging.getLogger("CodeSearchAPI")
|
|
14 |
# 预定义代码片段
|
15 |
CODE_SNIPPETS = [
|
16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
|
18 |
|
19 |
|
|
|
14 |
# 预定义代码片段
|
15 |
CODE_SNIPPETS = [
|
16 |
|
17 |
+
"public static void PrintText(string text) => Console.WriteLine(text)",
|
18 |
+
"public static int Sum(int a, int b) => a + b",
|
19 |
+
"public static int GenerateRandomNumber() => new Random().Next()",
|
20 |
+
"public static bool IsEven(int number) => number % 2 == 0",
|
21 |
+
"public static int GetStringLength(string str) => str.Length",
|
22 |
+
"public static DateTime GetCurrentDate() => DateTime.Today",
|
23 |
+
"public static bool FileExists(string path) => File.Exists(path)",
|
24 |
+
"public static string ReadFileContent(string path) => File.ReadAllText(path)",
|
25 |
+
"public static void WriteToFile(string path, string content) => File.WriteAllText(path, content)",
|
26 |
+
"public static DateTime GetCurrentTime() => DateTime.Now",
|
27 |
+
"public static string ToUpperCase(string str) => str.ToUpper()",
|
28 |
+
"public static string ToLowerCase(string str) => str.ToLower()",
|
29 |
+
"public static string ReverseString(string str) => new string(str.Reverse().ToArray())",
|
30 |
+
"public static int CountListElements<T>(List<T> list) => list.Count",
|
31 |
+
"public static T GetMaxValue<T>(List<T> list) where T : IComparable => list.Max()",
|
32 |
+
"public static T GetMinValue<T>(List<T> list) where T : IComparable => list.Min()",
|
33 |
+
"public static List<T> SortList<T>(List<T> list) where T : IComparable => list.OrderBy(x => x).ToList()",
|
34 |
+
"public static List<T> MergeLists<T>(List<T> list1, List<T> list2) => list1.Concat(list2).ToList()",
|
35 |
+
"public static List<T> RemoveElement<T>(List<T> list, T element) => list.Where(x => !x.Equals(element)).ToList()",
|
36 |
+
"public static bool IsListEmpty<T>(List<T> list) => list.Count == 0",
|
37 |
+
"public static int CountCharInString(string str, char c) => str.Count(x => x == c)",
|
38 |
+
"public static bool ContainsSubstring(string str, string substring) => str.Contains(substring)",
|
39 |
+
"public static string NumberToString(int number) => number.ToString()",
|
40 |
+
"public static int StringToNumber(string str) => int.Parse(str)",
|
41 |
+
"public static bool IsNumeric(string str) => int.TryParse(str, out _)",
|
42 |
+
"public static int GetElementIndex<T>(List<T> list, T element) => list.IndexOf(element)",
|
43 |
+
"public static void ClearList<T>(List<T> list) => list.Clear()",
|
44 |
+
"public static List<T> ReverseList<T>(List<T> list) { list.Reverse(); return list; }",
|
45 |
+
"public static List<T> RemoveDuplicates<T>(List<T> list) => list.Distinct().ToList()",
|
46 |
+
"public static bool IsInList<T>(List<T> list, T value) => list.Contains(value)",
|
47 |
+
"public static Dictionary<TKey, TValue> CreateDictionary<TKey, TValue>() => new Dictionary<TKey, TValue>()",
|
48 |
+
"public static void AddToDictionary<TKey, TValue>(Dictionary<TKey, TValue> dict, TKey key, TValue value) => dict[key] = value",
|
49 |
+
"public static void RemoveKey<TKey, TValue>(Dictionary<TKey, TValue> dict, TKey key) => dict.Remove(key)",
|
50 |
+
"public static List<TKey> GetDictionaryKeys<TKey, TValue>(Dictionary<TKey, TValue> dict) => dict.Keys.ToList()",
|
51 |
+
"public static List<TValue> GetDictionaryValues<TKey, TValue>(Dictionary<TKey, TValue> dict) => dict.Values.ToList()",
|
52 |
+
"public static Dictionary<TKey, TValue> MergeDictionaries<TKey, TValue>(Dictionary<TKey, TValue> dict1, Dictionary<TKey, TValue> dict2) => dict1.Concat(dict2).ToDictionary(x => x.Key, x => x.Value)",
|
53 |
+
"public static bool IsDictionaryEmpty<TKey, TValue>(Dictionary<TKey, TValue> dict) => dict.Count == 0",
|
54 |
+
"public static TValue GetDictionaryValue<TKey, TValue>(Dictionary<TKey, TValue> dict, TKey key) => dict[key]",
|
55 |
+
"public static bool KeyExistsInDictionary<TKey, TValue>(Dictionary<TKey, TValue> dict, TKey key) => dict.ContainsKey(key)",
|
56 |
+
"public static void ClearDictionary<TKey, TValue>(Dictionary<TKey, TValue> dict) => dict.Clear()",
|
57 |
+
"public static int CountFileLines(string path) => File.ReadAllLines(path).Length",
|
58 |
+
"public static void WriteListToFile<T>(string path, List<T> list) => File.WriteAllLines(path, list.Select(x => x.ToString()))",
|
59 |
+
"public static List<T> ReadListFromFile<T>(string path, Func<string, T> converter) => File.ReadAllLines(path).Select(converter).ToList()",
|
60 |
+
"public static int CountFileWords(string path) => File.ReadAllText(path).Split(new[] { ' ', '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries).Length",
|
61 |
+
"public static bool IsLeapYear(int year) => DateTime.IsLeapYear(year)",
|
62 |
+
"public static string FormatDateTime(DateTime dateTime, string format) => dateTime.ToString(format)",
|
63 |
+
"public static int DaysBetweenDates(DateTime date1, DateTime date2) => (date2 - date1).Days",
|
64 |
+
"public static string GetCurrentDirectory() => Directory.GetCurrentDirectory()",
|
65 |
+
"public static List<string> ListDirectoryFiles(string path) => Directory.GetFiles(path).ToList()",
|
66 |
+
"public static void CreateDirectory(string path) => Directory.CreateDirectory(path)",
|
67 |
+
"public static void DeleteDirectory(string path) => Directory.Delete(path)",
|
68 |
+
"public static bool IsFilePath(string path) => File.Exists(path)",
|
69 |
+
"public static bool IsDirectoryPath(string path) => Directory.Exists(path)",
|
70 |
+
"public static long GetFileSize(string path) => new FileInfo(path).Length",
|
71 |
+
"public static void RenameFile(string oldPath, string newPath) => File.Move(oldPath, newPath)",
|
72 |
+
"public static void CopyFile(string sourcePath, string destinationPath) => File.Copy(sourcePath, destinationPath)",
|
73 |
+
"public static void MoveFile(string sourcePath, string destinationPath) => File.Move(sourcePath, destinationPath)",
|
74 |
+
"public static void DeleteFile(string path) => File.Delete(path)",
|
75 |
+
"public static string GetEnvironmentVariable(string variable) => Environment.GetEnvironmentVariable(variable)",
|
76 |
+
"public static void SetEnvironmentVariable(string variable, string value) => Environment.SetEnvironmentVariable(variable, value)",
|
77 |
+
"public static void OpenWebLink(string url) => System.Diagnostics.Process.Start(url)",
|
78 |
+
"public static string SendGetRequest(string url) => new System.Net.WebClient().DownloadString(url)",
|
79 |
+
"public static T ParseJson<T>(string json) => System.Text.Json.JsonSerializer.Deserialize<T>(json)",
|
80 |
+
"public static void WriteJsonToFile<T>(string path, T data) => File.WriteAllText(path, System.Text.Json.JsonSerializer.Serialize(data))",
|
81 |
+
"public static T ReadJsonFromFile<T>(string path) => System.Text.Json.JsonSerializer.Deserialize<T>(File.ReadAllText(path))",
|
82 |
+
"public static string ListToString<T>(List<T> list) => string.Join("", list)",
|
83 |
+
"public static List<string> StringToList(string str) => str.ToCharArray().Select(c => c.ToString()).ToList()",
|
84 |
+
"public static string JoinListWithComma<T>(List<T> list) => string.Join(",", list)",
|
85 |
+
"public static string JoinListWithNewLine<T>(List<T> list) => string.Join("\n", list)",
|
86 |
+
"public static List<string> SplitStringBySpace(string str) => str.Split(' ').ToList()",
|
87 |
+
"public static List<string> SplitStringByDelimiter(string str, char delimiter) => str.Split(delimiter).ToList()",
|
88 |
+
"public static List<char> SplitStringToChars(string str) => str.ToCharArray().ToList()",
|
89 |
+
"public static string ReplaceStringContent(string str, string oldValue, string newValue) => str.Replace(oldValue, newValue)",
|
90 |
+
"public static string RemoveStringSpaces(string str) => str.Replace(" ", "")",
|
91 |
+
"public static string RemoveStringPunctuation(string str) => new string(str.Where(c => !char.IsPunctuation(c)).ToArray())",
|
92 |
+
"public static bool IsStringEmpty(string str) => string.IsNullOrEmpty(str)",
|
93 |
+
"public static bool IsPalindrome(string str) => str.SequenceEqual(str.Reverse())",
|
94 |
+
"public static void WriteTextToCsv(string path, List<string> lines) => File.WriteAllLines(path, lines)",
|
95 |
+
"public static List<string> ReadCsvFile(string path) => File.ReadAllLines(path).ToList()",
|
96 |
+
"public static int CountCsvLines(string path) => File.ReadAllLines(path).Length",
|
97 |
+
"public static List<T> ShuffleList<T>(List<T> list) => list.OrderBy(x => Guid.NewGuid()).ToList()",
|
98 |
+
"public static T GetRandomElement<T>(List<T> list) => list[new Random().Next(list.Count)]",
|
99 |
+
"public static List<T> GetRandomElements<T>(List<T> list, int count) => list.OrderBy(x => Guid.NewGuid()).Take(count).ToList()",
|
100 |
+
"public static int RollDice() => new Random().Next(1, 7)",
|
101 |
+
"public static string FlipCoin() => new Random().Next(2) == 0 ? \"Heads\" : \"Tails\"",
|
102 |
+
"public static string GenerateRandomPassword(int length) => new string(Enumerable.Repeat(\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\", length).Select(s => s[new Random().Next(s.Length)]).ToArray())",
|
103 |
+
"public static string GenerateRandomColor() => string.Format(\"#{0:X6}\", new Random().Next(0x1000000))",
|
104 |
+
"public static string GenerateUniqueId() => Guid.NewGuid().ToString()",
|
105 |
+
"public class MyClass { }",
|
106 |
+
"public static MyClass CreateClassInstance() => new MyClass()",
|
107 |
+
"public class MyClass { public void MyMethod() { } }",
|
108 |
+
"public class MyClass { public string MyProperty { get; set; } }",
|
109 |
+
"public class ChildClass : MyClass { }",
|
110 |
+
"public class ChildClass : MyClass { public override void MyMethod() { } }",
|
111 |
+
"public static void UseClassMethod(MyClass obj) => obj.MyMethod()",
|
112 |
+
"public class MyClass { public static void StaticMethod() { } }",
|
113 |
+
"public static bool IsObjectType<T>(object obj) => obj is T",
|
114 |
+
"public static object GetObjectProperty(object obj, string propertyName) => obj.GetType().GetProperty(propertyName).GetValue(obj)",
|
115 |
+
"public static void SetObjectProperty(object obj, string propertyName, object value) => obj.GetType().GetProperty(propertyName).SetValue(obj, value)",
|
116 |
+
"public static void DeleteObjectProperty(object obj, string propertyName) => obj.GetType().GetProperty(propertyName).SetValue(obj, null)",
|
117 |
+
"""
|
118 |
+
public static void TryCatchExample()
|
119 |
+
{
|
120 |
+
try { throw new Exception("Example exception"); }
|
121 |
+
catch (Exception ex) { Console.WriteLine(ex.Message); }
|
122 |
+
}
|
123 |
+
""",
|
124 |
+
"""
|
125 |
+
public static void ThrowCustomException() => throw new CustomException("Custom exception"),
|
126 |
+
""",
|
127 |
+
"""
|
128 |
+
public static string GetExceptionInfo(Exception ex) => ex.Message,
|
129 |
+
""",
|
130 |
+
"""
|
131 |
+
public static void LogError(Exception ex) => Console.WriteLine($"Error: {ex.Message}"),
|
132 |
+
""",
|
133 |
+
"""
|
134 |
+
public static System.Diagnostics.Stopwatch CreateTimer() => System.Diagnostics.Stopwatch.StartNew(),
|
135 |
+
""",
|
136 |
+
"""
|
137 |
+
public static long GetProgramRuntime(System.Diagnostics.Stopwatch timer) => timer.ElapsedMilliseconds,
|
138 |
+
""",
|
139 |
+
"""
|
140 |
+
public static void PrintProgressBar(int progress, int total)
|
141 |
+
{
|
142 |
+
float percentage = (float)progress / total;
|
143 |
+
Console.Write($"\r[{'='.Repeat((int)(percentage * 20))}{' '.Repeat(20 - (int)(percentage * 20))}] {percentage * 100:F2}%");
|
144 |
+
}
|
145 |
+
""",
|
146 |
+
"""
|
147 |
+
public static void Delay(int milliseconds) => System.Threading.Thread.Sleep(milliseconds),
|
148 |
+
""",
|
149 |
+
"""
|
150 |
+
public static Func<int, int> LambdaExample = x => x * x,
|
151 |
+
""",
|
152 |
+
"""
|
153 |
+
public static List<int> MapExample(List<int> list, Func<int, int> func) => list.Select(func).ToList(),
|
154 |
+
""",
|
155 |
+
"""
|
156 |
+
public static List<int> FilterExample(List<int> list, Func<int, bool> func) => list.Where(func).ToList(),
|
157 |
+
""",
|
158 |
+
"""
|
159 |
+
public static int ReduceExample(List<int> list, Func<int, int, int> func) => list.Aggregate(func),
|
160 |
+
""",
|
161 |
+
"""
|
162 |
+
public static List<int> ListComprehensionExample(List<int> list) => list.Select(x => x * 2).ToList(),
|
163 |
+
""",
|
164 |
+
"""
|
165 |
+
public static Dictionary<int, int> DictComprehensionExample(List<int> list) => list.ToDictionary(x => x, x => x * 2),
|
166 |
+
""",
|
167 |
+
"""
|
168 |
+
public static HashSet<int> SetComprehensionExample(List<int> list) => new HashSet<int>(list.Select(x => x * 2)),
|
169 |
+
""",
|
170 |
+
"""
|
171 |
+
public static HashSet<T> Intersection<T>(HashSet<T> set1, HashSet<T> set2) => new HashSet<T>(set1.Intersect(set2)),
|
172 |
+
""",
|
173 |
+
"""
|
174 |
+
public static HashSet<T> Union<T>(HashSet<T> set1, HashSet<T> set2) => new HashSet<T>(set1.Union(set2)),
|
175 |
+
""",
|
176 |
+
"""
|
177 |
+
public static HashSet<T> Difference<T>(HashSet<T> set1, HashSet<T> set2) => new HashSet<T>(set1.Except(set2)),
|
178 |
+
""",
|
179 |
+
"""
|
180 |
+
public static List<T> RemoveNulls<T>(List<T> list) => list.Where(x => x != null).ToList(),
|
181 |
+
""",
|
182 |
+
"""
|
183 |
+
public static bool TryOpenFile(string path)
|
184 |
+
{
|
185 |
+
try { using (var file = File.OpenRead(path)) return true; }
|
186 |
+
catch { return false; }
|
187 |
+
}
|
188 |
+
""",
|
189 |
+
"""
|
190 |
+
public static bool CheckVariableType<T>(object obj) => obj is T,
|
191 |
+
""",
|
192 |
+
"""
|
193 |
+
public static bool StringToBool(string str) => bool.Parse(str),
|
194 |
+
""",
|
195 |
+
"""
|
196 |
+
public static void IfExample(bool condition) { if (condition) Console.WriteLine("True"); },
|
197 |
+
""",
|
198 |
+
"""
|
199 |
+
public static void WhileExample(int count) { while (count-- > 0) Console.WriteLine(count); },
|
200 |
+
""",
|
201 |
+
"""
|
202 |
+
public static void ForEachListExample(List<int> list) { foreach (var item in list) Console.WriteLine(item); },
|
203 |
+
""",
|
204 |
+
"""
|
205 |
+
public static void ForEachDictExample(Dictionary<int, string> dict) { foreach (var kvp in dict) Console.WriteLine($"{kvp.Key}: {kvp.Value}"); },
|
206 |
+
""",
|
207 |
+
"""
|
208 |
+
public static void ForEachStringExample(string str) { foreach (var c in str) Console.WriteLine(c); },
|
209 |
+
""",
|
210 |
+
"""
|
211 |
+
public static void BreakExample(List<int> list)
|
212 |
+
{
|
213 |
+
foreach (var item in list) { if (item == 0) break; Console.WriteLine(item); }
|
214 |
+
}
|
215 |
+
""",
|
216 |
+
"""
|
217 |
+
public static void ContinueExample(List<int> list)
|
218 |
+
{
|
219 |
+
foreach (var item in list) { if (item == 0) continue; Console.WriteLine(item); }
|
220 |
+
}
|
221 |
+
""",
|
222 |
+
"""
|
223 |
+
public static void DefineFunction() => Console.WriteLine("Function defined"),
|
224 |
+
""",
|
225 |
+
"""
|
226 |
+
public static void FunctionWithDefault(int a = 10) => Console.WriteLine(a),
|
227 |
+
""",
|
228 |
+
"""
|
229 |
+
public static (int, int) ReturnMultipleValues() => (1, 2),
|
230 |
+
""",
|
231 |
+
"""
|
232 |
+
public static void VariableParams(params int[] numbers) => Console.WriteLine(numbers.Sum()),
|
233 |
+
""",
|
234 |
+
"""
|
235 |
+
public static void KeywordParams(int a, int b) => Console.WriteLine(a + b),
|
236 |
+
""",
|
237 |
+
"""
|
238 |
+
public static void MeasureFunctionTime(Action action)
|
239 |
+
{
|
240 |
+
var timer = System.Diagnostics.Stopwatch.StartNew();
|
241 |
+
action();
|
242 |
+
Console.WriteLine($"Time: {timer.ElapsedMilliseconds}ms");
|
243 |
+
}
|
244 |
+
""",
|
245 |
+
"""
|
246 |
+
public static void DecorateFunction(Action action) => action(),
|
247 |
+
""",
|
248 |
+
"""
|
249 |
+
public static void CacheFunctionResult(Func<int> func) => func(),
|
250 |
+
""",
|
251 |
+
"""
|
252 |
+
public static IEnumerable<int> CreateGenerator()
|
253 |
+
{
|
254 |
+
for (int i = 0; i < 10; i++) yield return i;
|
255 |
+
}
|
256 |
+
""",
|
257 |
+
"""
|
258 |
+
public static IEnumerable<int> YieldExample()
|
259 |
+
{
|
260 |
+
yield return 1;
|
261 |
+
yield return 2;
|
262 |
+
}
|
263 |
+
""",
|
264 |
+
"""
|
265 |
+
public static int NextExample(IEnumerator<int> enumerator) => enumerator.Current,
|
266 |
+
""",
|
267 |
+
"""
|
268 |
+
public static IEnumerator<int> CreateIterator(List<int> list) => list.GetEnumerator(),
|
269 |
+
""",
|
270 |
+
"""
|
271 |
+
public static void ManualIterate(IEnumerator<int> enumerator)
|
272 |
+
{
|
273 |
+
while (enumerator.MoveNext()) Console.WriteLine(enumerator.Current);
|
274 |
+
}
|
275 |
+
""",
|
276 |
+
"""
|
277 |
+
public static void EnumerateExample(List<int> list)
|
278 |
+
{
|
279 |
+
foreach (var (index, value) in list.Select((v, i) => (i, v))) Console.WriteLine($"{index}: {value}");
|
280 |
+
}
|
281 |
+
""",
|
282 |
+
"""
|
283 |
+
public static List<(int, int)> ZipExample(List<int> list1, List<int> list2) => list1.Zip(list2, (a, b) => (a, b)).ToList(),
|
284 |
+
""",
|
285 |
+
"""
|
286 |
+
public static Dictionary<int, int> ListsToDict(List<int> keys, List<int> values) => keys.Zip(values, (k, v) => new { k, v }).ToDictionary(x => x.k, x => x.v),
|
287 |
+
""",
|
288 |
+
"""
|
289 |
+
public static bool AreListsEqual(List<int> list1, List<int> list2) => list1.SequenceEqual(list2),
|
290 |
+
""",
|
291 |
+
"""
|
292 |
+
public static bool AreDictsEqual(Dictionary<int, int> dict1, Dictionary<int, int> dict2) => dict1.OrderBy(kvp => kvp.Key).SequenceEqual(dict2.OrderBy(kvp => kvp.Key)),
|
293 |
+
""",
|
294 |
+
"""
|
295 |
+
public static bool AreSetsEqual(HashSet<int> set1, HashSet<int> set2) => set1.SetEquals(set2),
|
296 |
+
""",
|
297 |
+
"""
|
298 |
+
public static HashSet<T> RemoveDuplicatesSet<T>(HashSet<T> set) => new HashSet<T>(set),
|
299 |
+
""",
|
300 |
+
"""
|
301 |
+
public static void ClearSet<T>(HashSet<T> set) => set.Clear(),
|
302 |
+
""",
|
303 |
+
"""
|
304 |
+
public static bool IsSetEmpty<T>(HashSet<T> set) => set.Count == 0,
|
305 |
+
""",
|
306 |
+
"""
|
307 |
+
public static void AddToSet<T>(HashSet<T> set, T item) => set.Add(item),
|
308 |
+
""",
|
309 |
+
"""
|
310 |
+
public static void RemoveFromSet<T>(HashSet<T> set, T item) => set.Remove(item),
|
311 |
+
""",
|
312 |
+
"""
|
313 |
+
public static bool SetContains<T>(HashSet<T> set, T item) => set.Contains(item),
|
314 |
+
""",
|
315 |
+
"""
|
316 |
+
public static int GetSetLength<T>(HashSet<T> set) => set.Count,
|
317 |
+
""",
|
318 |
+
"""
|
319 |
+
public static bool SetsIntersect<T>(HashSet<T> set1, HashSet<T> set2) => set1.Overlaps(set2),
|
320 |
+
""",
|
321 |
+
"""
|
322 |
+
public static bool IsSubset<T>(List<T> list1, List<T> list2) => list1.All(list2.Contains),
|
323 |
+
""",
|
324 |
+
"""
|
325 |
+
public static bool IsSubstring(string str, string substring) => str.Contains(substring),
|
326 |
+
""",
|
327 |
+
"""
|
328 |
+
public static char GetFirstChar(string str) => str[0],
|
329 |
+
""",
|
330 |
+
"""
|
331 |
+
public static char GetLastChar(string str) => str[^1],
|
332 |
+
""",
|
333 |
+
"""
|
334 |
+
public static bool IsTextFile(string path) => Path.GetExtension(path).ToLower() == ".txt",
|
335 |
+
""",
|
336 |
+
"""
|
337 |
+
public static bool IsImageFile(string path) => new[] { ".jpg", ".png", ".gif" }.Contains(Path.GetExtension(path).ToLower()),
|
338 |
+
""",
|
339 |
+
"""
|
340 |
+
public static double RoundNumber(double number) => Math.Round(number),
|
341 |
+
""",
|
342 |
+
"""
|
343 |
+
public static double CeilNumber(double number) => Math.Ceiling(number),
|
344 |
+
""",
|
345 |
+
"""
|
346 |
+
public static double FloorNumber(double number) => Math.Floor(number),
|
347 |
+
""",
|
348 |
+
"""
|
349 |
+
public static string FormatDecimal(double number, int decimals) => number.ToString($"F{decimals}"),
|
350 |
+
""",
|
351 |
+
"""
|
352 |
+
public static string GenerateRandomString(int length) => new string(Enumerable.Repeat("ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", length).Select(s => s[new Random().Next(s.Length)]).ToArray()),
|
353 |
+
""",
|
354 |
+
"""
|
355 |
+
public static bool PathExists(string path) => File.Exists(path) || Directory.Exists(path),
|
356 |
+
""",
|
357 |
+
"""
|
358 |
+
public static List<string> TraverseDirectory(string path) => Directory.GetFiles(path, "*", SearchOption.AllDirectories).ToList(),
|
359 |
+
""",
|
360 |
+
"""
|
361 |
+
public static string GetFileExtension(string path) => Path.GetExtension(path),
|
362 |
+
""",
|
363 |
+
"""
|
364 |
+
public static string GetFileName(string path) => Path.GetFileName(path),
|
365 |
+
""",
|
366 |
+
"""
|
367 |
+
public static string GetFullPath(string path) => Path.GetFullPath(path),
|
368 |
+
""",
|
369 |
+
"""
|
370 |
+
public static string GetPythonVersion() => Environment.Version.ToString(),
|
371 |
+
""",
|
372 |
+
"""
|
373 |
+
public static string GetSystemPlatform() => Environment.OSVersion.Platform.ToString(),
|
374 |
+
""",
|
375 |
+
"""
|
376 |
+
public static int GetCpuCores() => Environment.ProcessorCount,
|
377 |
+
""",
|
378 |
+
"""
|
379 |
+
public static long GetMemorySize() => GC.GetTotalMemory(false),
|
380 |
+
""",
|
381 |
+
"""
|
382 |
+
public static string GetDiskUsage() => new DriveInfo(Path.GetPathRoot(Environment.SystemDirectory)).AvailableFreeSpace.ToString(),
|
383 |
+
""",
|
384 |
+
"""
|
385 |
+
public static string GetIpAddress() => System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()).AddressList.FirstOrDefault(ip => ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)?.ToString(),
|
386 |
+
""",
|
387 |
+
"""
|
388 |
+
public static bool IsConnectedToInternet() => System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable(),
|
389 |
+
""",
|
390 |
+
"""
|
391 |
+
public static void DownloadFile(string url, string path) => new System.Net.WebClient().DownloadFile(url, path),
|
392 |
+
""",
|
393 |
+
"""
|
394 |
+
public static void UploadFile(string url, string path) => new System.Net.WebClient().UploadFile(url, path),
|
395 |
+
""",
|
396 |
+
"""
|
397 |
+
public static string SendPostRequest(string url, string data) => new System.Net.WebClient().UploadString(url, "POST", data),
|
398 |
+
""",
|
399 |
+
"""
|
400 |
+
public static string SendRequestWithParams(string url, System.Collections.Specialized.NameValueCollection data) => new System.Net.WebClient().UploadValues(url, data),
|
401 |
+
""",
|
402 |
+
"""
|
403 |
+
public static void SetRequestHeader(System.Net.WebClient client, string key, string value) => client.Headers[key] = value,
|
404 |
+
""",
|
405 |
+
"""
|
406 |
+
public static string ParseHtml(string html) => new HtmlAgilityPack.HtmlDocument { Text = html }.DocumentNode.InnerText,
|
407 |
+
""",
|
408 |
+
"""
|
409 |
+
public static string ExtractHtmlTitle(string html) => new HtmlAgilityPack.HtmlDocument { Text = html }.DocumentNode.SelectSingleNode("//title")?.InnerText,
|
410 |
+
""",
|
411 |
+
"""
|
412 |
+
public static List<string> ExtractHtmlLinks(string html) => new HtmlAgilityPack.HtmlDocument { Text = html }.DocumentNode.SelectNodes("//a[@href]")?.Select(node => node.GetAttributeValue("href", "")).ToList(),
|
413 |
+
""",
|
414 |
+
"""
|
415 |
+
public static void DownloadHtmlImages(string html, string path)
|
416 |
+
{
|
417 |
+
var doc = new HtmlAgilityPack.HtmlDocument { Text = html };
|
418 |
+
var images = doc.DocumentNode.SelectNodes("//img[@src]")?.Select(node => node.GetAttributeValue("src", "")).ToList();
|
419 |
+
if (images != null) foreach (var img in images) new System.Net.WebClient().DownloadFile(img, Path.Combine(path, Path.GetFileName(img)));
|
420 |
+
}
|
421 |
+
""",
|
422 |
+
"""
|
423 |
+
public static Dictionary<string, int> CountWordFrequency(string text) => text.Split(' ').GroupBy(word => word).ToDictionary(group => group.Key, group => group.Count()),
|
424 |
+
""",
|
425 |
+
"""
|
426 |
+
public static void SimulateLogin(string url, System.Collections.Specialized.NameValueCollection data) => new System.Net.WebClient().UploadValues(url, data),
|
427 |
+
""",
|
428 |
+
"""
|
429 |
+
public static string HtmlToText(string html) => new HtmlAgilityPack.HtmlDocument { Text = html }.DocumentNode.InnerText,
|
430 |
+
""",
|
431 |
+
"""
|
432 |
+
public static List<string> ExtractEmails(string text) => System.Text.RegularExpressions.Regex.Matches(text, @"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*").Select(match => match.Value).ToList(),
|
433 |
+
""",
|
434 |
+
"""
|
435 |
+
public static List<string> ExtractPhoneNumbers(string text) => System.Text.RegularExpressions.Regex.Matches(text, @"\+?\d[\d -]{8,12}\d").Select(match => match.Value).ToList(),
|
436 |
+
""",
|
437 |
+
"""
|
438 |
+
public static List<string> FindAllNumbers(string text) => System.Text.RegularExpressions.Regex.Matches(text, @"\d+").Select(match => match.Value).ToList(),
|
439 |
+
""",
|
440 |
+
"""
|
441 |
+
public static string ReplaceWithRegex(string text, string pattern, string replacement) => System.Text.RegularExpressions.Regex.Replace(text, pattern, replacement),
|
442 |
+
""",
|
443 |
+
"""
|
444 |
+
public static bool IsRegexMatch(string text, string pattern) => System.Text.RegularExpressions.Regex.IsMatch(text, pattern),
|
445 |
+
""",
|
446 |
+
"""
|
447 |
+
public static string RemoveHtmlTags(string html) => System.Text.RegularExpressions.Regex.Replace(html, "<[^>]*>", string.Empty),
|
448 |
+
""",
|
449 |
+
"""
|
450 |
+
public static string EncodeHtmlEntities(string text) => System.Net.WebUtility.HtmlEncode(text),
|
451 |
+
""",
|
452 |
+
"""
|
453 |
+
public static string DecodeHtmlEntities(string text) => System.Net.WebUtility.HtmlDecode(text),
|
454 |
+
""",
|
455 |
+
"""
|
456 |
+
public static void CreateGuiWindow() => new System.Windows.Forms.Form().ShowDialog(),
|
457 |
+
""",
|
458 |
+
"public static void AddButtonToWindow(Form form, string text, int x, int y, EventHandler onClick) { Button button = new Button(); button.Text = text; button.Location = new Point(x, y); button.Click += onClick; form.Controls.Add(button); }", "public static void ShowMessageBox(string message) { MessageBox.Show(message); }", "public static string GetTextBoxText(TextBox textBox) { return textBox.Text; }", "public static void SetWindowTitle(Form form, string title) { form.Text = title; }", "public static void SetWindowSize(Form form, int width, int height) { form.Size = new Size(width, height); }", "public static void CenterWindow(Form form) { form.StartPosition = FormStartPosition.CenterScreen; }", "public static void AddMenuStrip(Form form, ToolStripMenuItem menuItem) { MenuStrip menuStrip = new MenuStrip(); menuStrip.Items.Add(menuItem); form.Controls.Add(menuStrip); }", "public static void AddComboBox(Form form, int x, int y, EventHandler onSelectedIndexChanged) { ComboBox comboBox = new ComboBox(); comboBox.Location = new Point(x, y); comboBox.SelectedIndexChanged += onSelectedIndexChanged; form.Controls.Add(comboBox); }", "public static void AddRadioButton(Form form, string text, int x, int y) { RadioButton radioButton = new RadioButton(); radioButton.Text = text; radioButton.Location = new Point(x, y); form.Controls.Add(radioButton); }", "public static void AddCheckBox(Form form, string text, int x, int y) { CheckBox checkBox = new CheckBox(); checkBox.Text = text; checkBox.Location = new Point(x, y); form.Controls.Add(checkBox); }", "public static void DisplayImage(Form form, string imagePath, int x, int y) { PictureBox pictureBox = new PictureBox(); pictureBox.Image = Image.FromFile(imagePath); pictureBox.Location = new Point(x, y); form.Controls.Add(pictureBox); }", "public static void PlayAudioFile(string filePath) { SoundPlayer player = new SoundPlayer(filePath); player.Play(); }", "public static void PlayVideoFile(Form form, string filePath, int x, int y) { AxWMPLib.AxWindowsMediaPlayer player = new AxWMPLib.AxWindowsMediaPlayer(); player.CreateControl(); player.URL = filePath; player.Location = new Point(x, y); form.Controls.Add(player); }", "public static TimeSpan GetCurrentPlayTime(AxWMPLib.AxWindowsMediaPlayer player) { return player.Ctlcontrols.currentPosition; }", "public static void CaptureScreen(string filePath) { Bitmap bitmap = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height); Graphics graphics = Graphics.FromImage(bitmap); graphics.CopyFromScreen(0, 0, 0, 0, bitmap.Size); bitmap.Save(filePath); }", "public static void RecordScreen(string filePath, int duration) { // Simulated implementation }", "public static Point GetMousePosition() { return Cursor.Position; }", "public static void SimulateKeyboardInput(string text) { SendKeys.SendWait(text); }", "public static void SimulateMouseClick(int x, int y) { Cursor.Position = new Point(x, y); mouse_event(0x0002 | 0x0004, x, y, 0, 0); }", "public static long GetCurrentTimestamp() { return DateTimeOffset.UtcNow.ToUnixTimeSeconds(); }", "public static DateTime TimestampToDate(long timestamp) { return DateTimeOffset.FromUnixTimeSeconds(timestamp).DateTime; }", "public static long DateToTimestamp(DateTime date) { return new DateTimeOffset(date).ToUnixTimeSeconds(); }", "public static string GetCurrentDayOfWeek() { return DateTime.Now.DayOfWeek.ToString(); }", "public static int GetDaysInCurrentMonth() { return DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month); }", "public static DateTime GetFirstDayOfYear() { return new DateTime(DateTime.Now.Year, 1, 1); }", "public static DateTime GetLastDayOfYear() { return new DateTime(DateTime.Now.Year, 12, 31); }", "public static DateTime GetFirstDayOfMonth(int year, int month) { return new DateTime(year, month, 1); }", "public static DateTime GetLastDayOfMonth(int year, int month) { return new DateTime(year, month, DateTime.DaysInMonth(year, month)); }", "public static bool IsWeekday() { DayOfWeek day = DateTime.Now.DayOfWeek; return day != DayOfWeek.Saturday && day != DayOfWeek.Sunday; }", "public static bool IsWeekend() { DayOfWeek day = DateTime.Now.DayOfWeek; return day == DayOfWeek.Saturday || day == DayOfWeek.Sunday; }", "public static int GetCurrentHour() { return DateTime.Now.Hour; }", "public static int GetCurrentMinute() { return DateTime.Now.Minute; }", "public static int GetCurrentSecond() { return DateTime.Now.Second; }", "public static void DelayOneSecond() { Thread.Sleep(1000); }", "public static long GetMillisecondTimestamp() { return DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); }", "public static string FormatTimeToString(DateTime date, string format) { return date.ToString(format); }", "public static DateTime ParseStringToTime(string dateString, string format) { return DateTime.ParseExact(dateString, format, CultureInfo.InvariantCulture); }", "public static void CreateThread(ThreadStart start) { Thread thread = new Thread(start); thread.Start(); }", "public static void PauseThread(Thread thread) { thread.Suspend(); }", "public static void RunFunctionInThread(ThreadStart start) { Thread thread = new Thread(start); thread.Start(); }", "public static string GetCurrentThreadName() { return Thread.CurrentThread.Name; }", "public static void SetThreadAsDaemon(Thread thread) { thread.IsBackground = true; }", "public static void LockThread(object lockObject, Action action) { lock (lockObject) { action(); } }", "public static void CreateProcess(string fileName) { Process.Start(fileName); }", "public static int GetProcessId() { return Process.GetCurrentProcess().Id; }", "public static bool IsProcessAlive(int processId) { try { Process.GetProcessById(processId); return true; } catch { return false; } }", "public static void RunFunctionInProcess(Action action) { Task.Run(action); }", "public static void UseQueueToPassValue<T>(Queue<T> queue, T value) { queue.Enqueue(value); }", "public static void UsePipeToCommunicate() { // Simulated implementation }", "public static void LimitCpuUsage() { // Simulated implementation }", "public static void RunShellCommand(string command) { Process.Start(\"cmd.exe\", \"/c \" + command); }", "public static string GetCommandOutput(string command) { Process process = new Process(); process.StartInfo.FileName = \"cmd.exe\"; process.StartInfo.Arguments = \"/c \" + command; process.StartInfo.RedirectStandardOutput = true; process.StartInfo.UseShellExecute = false; process.Start(); return process.StandardOutput.ReadToEnd(); }", "public static int GetCommandExitCode(string command) { Process process = Process.Start(\"cmd.exe\", \"/c \" + command); process.WaitForExit(); return process.ExitCode; }", "public static bool IsCommandSuccessful(string command) { return GetCommandExitCode(command) == 0; }", "public static string GetCurrentScriptPath() { return Assembly.GetExecutingAssembly().Location; }", "public static string[] GetCommandLineArgs() { return Environment.GetCommandLineArgs(); }", "public static void UseArgParse() { // Simulated implementation }", "public static void GenerateCommandHelp() { // Simulated implementation }", "public static void ListPythonModules() { // Simulated implementation }", "public static void InstallPythonPackage(string package) { // Simulated implementation }", "public static void UninstallPythonPackage(string package) { // Simulated implementation }", "public static string GetPackageVersion(string package) { // Simulated implementation return \"\"; }", "public static void UseVirtualEnvironment() { // Simulated implementation }", "public static void ListInstalledPackages() { // Simulated implementation }", "public static void UpgradePythonPackage(string package) { // Simulated implementation }", "public static void ConnectToLocalDatabase(string connectionString) { SqlConnection connection = new SqlConnection(connectionString); connection.Open(); }", "public static DataTable ExecuteSqlQuery(SqlConnection connection, string query) { SqlCommand command = new SqlCommand(query, connection); SqlDataAdapter adapter = new SqlDataAdapter(command); DataTable table = new DataTable(); adapter.Fill(table); return table; }", "public static void InsertRecord(SqlConnection connection, string table, Dictionary<string, object> values) { string columns = string.Join(\",\", values.Keys); string parameters = string.Join(\",\", values.Keys.Select(k => \"@\" + k)); string query = $\"INSERT INTO {table} ({columns}) VALUES ({parameters})\"; SqlCommand command = new SqlCommand(query, connection); foreach (var pair in values) { command.Parameters.AddWithValue(\"@\" + pair.Key, pair.Value); } command.ExecuteNonQuery(); }", "public static void DeleteRecord(SqlConnection connection, string table, string condition) { string query = $\"DELETE FROM {table} WHERE {condition}\"; SqlCommand command = new SqlCommand(query, connection); command.ExecuteNonQuery(); }", "public static void UpdateRecord(SqlConnection connection, string table, Dictionary<string, object> values, string condition) { string setClause = string.Join(\",\", values.Keys.Select(k => $\"{k} = @{k}\")); string query = $\"UPDATE {table} SET {setClause} WHERE {condition}\"; SqlCommand command = new SqlCommand(query, connection); foreach (var pair in values) { command.Parameters.AddWithValue(\"@\" + pair.Key, pair.Value); } command.ExecuteNonQuery(); }", "public static DataTable QueryMultipleRecords(SqlConnection connection, string query) { SqlCommand command = new SqlCommand(query, connection); SqlDataAdapter adapter = new SqlDataAdapter(command); DataTable table = new DataTable(); adapter.Fill(table); return table; }", "public static void UseParameterizedQuery(SqlConnection connection, string query, Dictionary<string, object> parameters) { SqlCommand command = new SqlCommand(query, connection); foreach (var pair in parameters) { command.Parameters.AddWithValue(\"@\" + pair.Key, pair.Value); } command.ExecuteNonQuery(); }", "public static void CloseDatabaseConnection(SqlConnection connection) { connection.Close(); }", "public static void CreateDatabaseTable(SqlConnection connection, string table, Dictionary<string, string> columns) { string columnDefinitions = string.Join(\",\", columns.Select(pair => $\"{pair.Key} {pair.Value}\")); string query = $\"CREATE TABLE {table} ({columnDefinitions})\"; SqlCommand command = new SqlCommand(query, connection); command.ExecuteNonQuery(); }", "public static void DeleteDatabaseTable(SqlConnection connection, string table) { string query = $\"DROP TABLE {table}\"; SqlCommand command = new SqlCommand(query, connection); command.ExecuteNonQuery(); }", "public static bool TableExists(SqlConnection connection, string table) { string query = $\"SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = '{table}'\"; SqlCommand command = new SqlCommand(query, connection); return command.ExecuteScalar() != null; }", "public static DataTable GetAllTables(SqlConnection connection) { string query = \"SELECT * FROM INFORMATION_SCHEMA.TABLES\"; SqlCommand command = new SqlCommand(query, connection); SqlDataAdapter adapter = new SqlDataAdapter(command); DataTable table = new DataTable(); adapter.Fill(table); return table; }", "public static void UseOrmInsertData<T>(DbContext context, T entity) where T : class { context.Set<T>().Add(entity); context.SaveChanges(); }", "public static List<T> UseOrmQueryData<T>(DbContext context) where T : class { return context.Set<T>().ToList(); }", "public static void UseOrmDeleteData<T>(DbContext context, T entity) where T : class { context.Set<T>().Remove(entity); context.SaveChanges(); }", "public static void UseOrmUpdateData<T>(DbContext context, T entity) where T : class { context.Set<T>().Update(entity); context.SaveChanges(); }", "public static void DefineDatabaseModelClass() { // Simulated implementation }", "public static void ImplementModelClassInheritance() { // Simulated implementation }", "public static void SetPrimaryKeyField() { // Simulated implementation }", "public static void SetUniqueConstraint() { // Simulated implementation }", "public static void SetFieldDefaultValue() { // Simulated implementation }", "public static void ExportDataToCsv(DataTable table, string filePath) { StringBuilder sb = new StringBuilder(); foreach (DataRow row in table.Rows) { sb.AppendLine(string.Join(\",\", row.ItemArray)); } File.WriteAllText(filePath, sb.ToString()); }", "public static void ExportDataToExcel(DataTable table, string filePath) { // Simulated implementation }", "public static void ExportDataToJson(DataTable table, string filePath) { string json = JsonConvert.SerializeObject(table); File.WriteAllText(filePath, json); }", "public static DataTable ReadDataFromExcel(string filePath) { // Simulated implementation return new DataTable(); }", "public static void MergeExcelFiles(List<string> filePaths, string outputPath) { // Simulated implementation }", "public static void AddNewSheetToExcel(string filePath, string sheetName) { // Simulated implementation }", "public static void CopyExcelSheetStyle(string sourceFilePath, string targetFilePath) { // Simulated implementation }", "public static void SetExcelCellColor(string filePath, string sheetName, int row, int column, string color) { // Simulated implementation }", "public static void SetExcelFontStyle(string filePath, string sheetName, int row, int column, string fontName, int fontSize) { // Simulated implementation }", "public static string ReadExcelCellContent(string filePath, string sheetName, int row, int column) { // Simulated implementation return \"\"; }", "public static void WriteExcelCellContent(string filePath, string sheetName, int row, int column, string content) { // Simulated implementation }", "public static Size GetImageDimensions(string imagePath) { Image image = Image.FromFile(imagePath); return image.Size; }", "public static void ResizeImage(string imagePath, string outputPath, int width, int height) { Image image = Image.FromFile(imagePath); Bitmap resizedImage = new Bitmap(image, width, height); resizedImage.Save(outputPath); }"
|
459 |
+
|
460 |
|
461 |
|
462 |
|