В notepad ++ нажмите Ctrl+H
, установите режим поиска в "Regular expression"
, затем используйте шаблон поиска
([^,]+,[^,]+,[^,]+),
и повторите поиск с
\1\n
UPD
используйте шаблон поиска ((?:[^,]+,){500})
, если вы хотите использовать 500 элементов вместо 3. Запятые в конце каждой строки можно заменить с помощью шаблона поиска ,$
Существует несколько различных методов, которые связаны:
Enum.GetName(typeof(A), A.C) == "C"
A.C.ToString() == "C"
((A)Enum.Parse(typeof(A), "C")) == A.C
Первые два преобразовывают значение A.C
к строковому представлению ("C"
) и затем сравните его со строкой. Последний преобразовывает строку "C"
к типу A
, и затем выдерживает сравнение как фактический тип A
.
Перечисление для строкового представления: enumValue.ToString()
или Enum.GetName(typeof(A), A.C)
Строка к перечислению: (A)Enum.Parse(typeof(A), "C")
Обратите внимание, что ни один из тех не будет действительно работать, если перечисление будет отмечено с FlagsAttribute
.
Перечисление. Метод синтаксического анализа:
Преобразовывает строковое представление имени или числовое значение одной или нескольких перечислимых констант к эквивалентному перечислимому объекту. Параметр указывает, чувствительна ли операция к регистру.
Вот пример кода VB.NET из MSDN:
Module Example
Public Sub Main()
Dim colorStrings() As String = {"0", "2", "8", "blue", "Blue", "Yellow", "Red, Green"}
For Each colorString As String In colorStrings
Try
Dim colorValue As Colors = CType([Enum].Parse(GetType(Colors), colorString, True), Colors)
If [Enum].IsDefined(GetType(Colors), colorValue) Or colorValue.ToString().Contains(",") Then
Console.WriteLine("Converted '{0}' to {1}.", colorString, colorValue.ToString())
Else
Console.WriteLine("{0} is not an underlying value of the Colors enumeration.", colorString)
End If
Catch e As ArgumentException
Console.WriteLine("{0} is not a member of the Colors enumeration.", colorString)
End Try
Next
End Sub
End Module