Untitled
JCallico
plain_text
2 years ago
1.6 kB
12
Indexable
Here is the equivalent logic in C# for the provided Perl code block:
```csharp
if (config["sort"] != null && Regex.IsMatch(config["sort"], @"^order:.*,."))
{
// Set the temporary sort_order variable to the sorting order,
// remove extraneous line breaks and spaces, remove the order:
// directive and split the sort fields into an array.
string sortOrder = config["sort"];
sortOrder = Regex.Replace(sortOrder, @"(\s+|\n)?,(\s+|\n)?", ",");
sortOrder = Regex.Replace(sortOrder, @"(\s+)?\n+(\s+)?", "");
sortOrder = sortOrder.Replace("order:", "");
string[] sortedFields = sortOrder.Split(',');
// For each sorted field, if it has a value or the print blank
// fields option is turned on, print the form field and value.
foreach (string sortedField in sortedFields)
{
if (config["print_blank_fields"] != null || !string.IsNullOrEmpty(form[sortedField]))
{
//BSS - table output
Console.WriteLine($"<tr><td align=right>{sortedField}:</td>");
Console.WriteLine($"<td align=left>{form[sortedField]}</td></tr>\n");
//BSS
}
}
}
```
This C# code block replicates the logic of checking whether the `sort` configuration is set and follows the specified order. It then extracts and processes the sorted fields, printing them if the conditions are met. Note that the `form` collection is used to access field values instead of the Perl `%Form` hash. Adjustments may be needed based on your specific requirements and the structure of your C# program.Editor is loading...
Leave a Comment