我正在研究一种动态解决方案,其中我需要根据传入的变量将一个大列表分成x个列表。
因为我正在使用的类非常复杂,所以为了获得最小的可复制问题,我选择了下面的代码来代表我的问题100%。
我面临的问题是下面的代码被0除的问题。
当我改变面对其他问题if (j % i == 0),以if (j % 3 == 0)我得到的结果"1", "4", "7"。
当我看着从if列表中的列表中删除一项时,上面的变化我得到了
3个新列表,原始列表中剩余3个项目。
1 5 5
2 7
3
4 6 8
void Main()
{
var listsToSplit = 3;
var l = new List<string>(){
"1", "2", "3", "4", "5", "6", "7", "8",
"9"
};
var dict = new Dictionary<int, List<string>>();
for (var i = 0; i < listsToSplit; i++)
{
for (var j = 0; j < l.Count; j++) …Run Code Online (Sandbox Code Playgroud) 我对正则表达式非常陌生,我需要从之间包含的字符串中获取特定值 ' '
使用正则表达式能够获取值,但是'在两者之间有三分之一时会获得异常 ' '。
可变规则包含整个字符串
IEnumerable<string> possibleValues = Regex
.Matches(rule, @"'(?<val>.*?)'")
.Cast<System.Text.RegularExpressions.Match>()
.Select(match => match.Groups["val"].Value)
.ToArray();
Run Code Online (Sandbox Code Playgroud)
传递以下字符串时
规则:“街道地址”
必须为“班德拉(西)班德圣安德鲁路4楼萨米尔综合楼”(默认值)
期望的值是班德拉(西)圣安德鲁路4楼的Street Address和 Samir Complex。
但是在圣安德鲁4楼获得街道地址和 Samir Complex
我的目标是循环通过List<weatherForecast> weatherList,看它是否包含特定值。但是,每次我运行该程序时,它都会冻结。
通过注释掉循环的各个部分,似乎除了之外的所有其他东西都在foreach loop工作,但是我foreach在程序的其他部分使用了几乎与此相同的语句,并且它们工作正常。
Boolean flag;
for (DateTime day1 = DateTime.Parse(sDate); day1 <= DateTime.Parse(eDate); day1.AddDays(1))
{
flag = false;
foreach (WeatherForecast w in weatherList)
{
if (selected.Contains(w.City) && w.getDay().CompareTo(day1) == 0)
{
flag = true;
}
}
if (!flag)
{
day1 = DateTime.Parse(eDate).AddDays(1);
MessageBox.Show("Some of the dates in the range you selected do not have weather data. \nDefault data will be used,but you can enter the data manually.", "Missing Data", …Run Code Online (Sandbox Code Playgroud) 我有一个数字(仅举一个例子:
"3616,946489653802082229919075063226"
Run Code Online (Sandbox Code Playgroud)
存储在中string。我想将其转换为,decimal但得到OverflowException,因为该值对于十进制而言太长。
我想圆的string转换之前修正错误。
我该怎么做呢?
我想用空格字符替换字符串中的每个非数字字符。
例如: "123X456Y78W9" -> "123 456 78 9"
我得出的唯一解决方案是:
string input = "123X456Y78W9";
string output = "";
foreach (char c in input)
if (c in (1, 2, 3, 4, 5, 6, 7, 8, 9, 0))
output += c;
else
output += ' ';
Run Code Online (Sandbox Code Playgroud)
有没有更简单的解决方案?
我似乎无法解析日期时间,例如,
"7/10/2019 2:52:52 PM".
Run Code Online (Sandbox Code Playgroud)
无论我添加哪种格式都行不通。这是我的代码:
public static DateTime? ToInternal(string source)
{
if (!DateTime.TryParseExact(
source,
PUBLIC_INPUT_FORMAT_STRING,
System.Globalization.CultureInfo.InvariantCulture,
System.Globalization.DateTimeStyles.None,
out DateTime date))
{
return null;
}
else
{
return date;
}
}
public static string[] PUBLIC_INPUT_FORMAT_STRING =
{
"yyyy-MM-dd", "dd/M/yyyy", "d/M/yyyy", "d/MM/yyyy",
"dd/MM/yy", "dd/M/yy", "d/M/yy", "d/MM/yy","yyyy/MM/dd",
"yyyy-MM-dd HH:mm tt","yyyy'-'MM'-'dd'T'HH':'mm':'ss",
"dd/M/yyyy HH:mm:ss tt", "d/MM/yyyy H:mm:ss tt",
"d/M/yyyy HH:mm:ss", "d/MM/yyyy HH:mm:ss","dd/MM/yyyy HH:mm:ss"
};
Run Code Online (Sandbox Code Playgroud) 我正在构建Windows Forms应用程序,并希望禁止用户将空格和其他空格输入TextBox。在发送带有“您输入了空格”之类的消息的表格后,我不想检查它。我不想使用此:
protected override void OnKeyDown(KeyEventArgs e)
Run Code Online (Sandbox Code Playgroud)
因为我必须将按下的键与所有可能的空格进行比较。有什么方法可以将设置TextBox为仅接受不是空格的字符?
我能得到我的数组排序的权利,但是,挣扎着爬向左旋转,例如工作[1, 2, 3, 4, 5, 6, 7, 8],如果向左旋转4空格[4, 5, 6, 7, 8, 1, 2, 3]我觉得这是超级简单,只是一个小的变化,以我目前的右旋转,但是,我”我陷入了困境。
if (direction == "right")
{
{
//make spaces<nums.Length
if (spaces > newArray.Length)
{
while (spaces - newArray.Length >= 0)
{
spaces = spaces - newArray.Length;
}
}
if (spaces == 0)
{
}
else
{
int[] temp = new int[spaces];
//move to a temp array
for (var i = temp.Length - 1; i >= 0; …Run Code Online (Sandbox Code Playgroud) 我有一个带元组的列表,其中包含两个字符串和一个int:
List<Tuple<string, string, int>> peopleList = new List<Tuple<string, string, int>>();
Run Code Online (Sandbox Code Playgroud)
该元组从查找到数据库,并使用带有名称,数字和整数列表的DataReader进行填充。
我想从列表中删除重复项并计算出整数。
我已经根据属性和重复项的总和查看了这个List Distinct条目 -这与我想要的最相似,但是我正在使用元组并努力了解如何删除重复项并正确添加数字。
var group = peopleList.GroupBy(x => x)
.Select(x => new { Name = x.Key.Item1, No = x.Key.Item2, Sum = x.Sum(g => g.Item3) });
Run Code Online (Sandbox Code Playgroud)
我希望得到一个包含所有人员及其对应的计数总和的列表。
所以:
James, 12, 5
Jerry, 15, 2
James, 12, 10
Helen, 87, 8
Jerry, 15, 8
Run Code Online (Sandbox Code Playgroud)
成为:
James, 12, 15
Jerry, 15, 10
Helen, 87, 8
Run Code Online (Sandbox Code Playgroud) 我需要将输入货币(不带小数位)的格式设置为标准方式(如$XXX,XXX,XXX,XXX)。用户可以输入以下任何内容:
$123 $123,123 $1,123,123 123,123 12,123,123 12312312 123 $12123123我已经写了一篇文章Regex,我可以通过该文章找到所需的模式-> ^\$?[0-9]{1,3}(?:(,[0-9]{3})*|([0-9]{3})*)?$但我不明白如何编写替代代码来格式化上述示例以进行$XXX,XXX,XXX,XXX...格式化(因为没有固定的组可以选择)。