os.system('ps -C ffmpeg')
所以我们得到一个列表,其中有一个名为“ffmpeg”的进程
如果使用不存在的进程名称执行命令。它还会给出一个列表,但它是空的。
如何查明进程是否正在运行并为其设置条件。也就是说,如果它正在运行,我们就跳过该条件,反之亦然......
os.system('ps -C ffmpeg')
所以我们得到一个列表,其中有一个名为“ffmpeg”的进程
如果使用不存在的进程名称执行命令。它还会给出一个列表,但它是空的。
如何查明进程是否正在运行并为其设置条件。也就是说,如果它正在运行,我们就跳过该条件,反之亦然......
Regex是一个强大的工具,可让您检查是否符合给定的面罩。
从该版本开始, .NET 7.0 引入了对源生成器 RegexGenerator的支持- 我在代码中使用它。
为了深入了解上下文,我们来验证的电话号码PhoneNumberTextBox。
例如,如果给出以下内容Regex:
/// <summary>
/// <see cref="Regex"/>, которому соответствует только формат "+7 (XXX) XXX-XX-XX"
/// </summary>
/// <returns>Соответствие маске номера телефона</returns>
[GeneratedRegex(@"^\+7 \(\d{3}\) \d{3}-\d{2}-\d{2}$")]
private static partial Regex PhoneNumberOnlyRegex();
以及验证方法如下:
/// <summary>
/// Метод, проверяющий соответствие текста заданному <see cref="Regex"/>
/// </summary>
/// <param name="Text">Проверяемый текст</param>
/// <param name="Regex">Проверяющий <see cref="Regex"/></param>
/// <returns>Значение <see cref="bool"/> соответствия текста маске</returns>
private static bool IsTextAllowed(string Text, Regex Regex)
{
return Regex.IsMatch(Text);
}
然后我们可以像这样使用这个方法:
if (!IsTextAllowed(PhoneNumberTextBox.Text, PhoneNumberOnlyRegex()))
{
PhoneNumberTextBox.BorderBrush = Brushes.Red;
}
这种方法一直有效,直到我们必须检查输入序列而不是整个字符串的正确性。这就是问题出现的时候。
例如:
线路+ 7 (000) 000-00-00将接通Regex,但是如果您需要检查用户拨打的电话号码是否正确怎么办?他一拨通+, Regex 就会开始咒骂。
在某些情况下这可能看起来是一个小问题,但是如果开发者需要控制用户输入的每个字符,UI防止用户输入错误的字符怎么办?例如,通过事件PreviewTextInput和 Pasting元素TextBox?
顺便说一句,该事件还出现了另一个问题PreviewTextInput:它不处理用户输入的空格,而仅对输入的字符做出反应。这种情况该怎么办?
我的代码:
public static <T> T[] getArray(List<T> list){
return (T[]) list.toArray();
}
当调用该方法时,会抛出异常:
List<Integer> list = Arrays.asList(1, 2, 3, 4);
Integer[] arr = getArray(list); //Возникает исключение ClassCastException
是否可以从 转换List<T>为T[]?
此处不可能创建循环,因为不可能创建泛型数组,例如:T[] array = new T[5]; 因为代码未编译。
由于-Wold-style-cast,编译器会抱怨(其中定义了许多内联函数),但制作普通的 plus 文件或将函数传输到 .c 不是一个选项。
可以采取什么措施来防止编译器抛出警告?
有一个随机列表:
[8, 5, 2, 5, 2]。
根据问题的条件,需要获得一个新列表,在原列表的每对元素之间插入一个新元素,该元素等于相邻元素值的总和:
[8, 13, 5, 7, 2, 7, 5, 7, 2]
该代码必须使用 insert 方法来实现。我尝试以下选项,但没有成功:
from random import*
seed(35)
n=[randint(0,9) for i in range(5)]
print(n)
for i in range(len(n)):
n.insert(i+1,n[i]+n[i+1])
print(n)
如果有提示,我将不胜感激