小编Pan*_*kaj的帖子

优雅的方式做链式空检查

我正在使用此解决方案在我的代码中进行链式空检查

更清洁的方法在C#中进行空检查?

我只是想知道我们不能这样做.

bool returnValue = Helper.IsNull(nullPerson.contact.address.city);
Run Code Online (Sandbox Code Playgroud)

那不是更清洁吗?

我尝试编写这样的通用函数

public static bool IsNull<T>(this T rootObj)
{
  var visitor = new IsNullExpressionVisitor();
  //...
  //...
}
Run Code Online (Sandbox Code Playgroud)

但后来我陷入了如何从这个rootObject中表达出来的问题.

c# lambda

5
推荐指数
1
解决办法
584
查看次数

保持按钮位置与调整图像大小成比例

我正在尝试创建一个 Winforms 应用程序,在其中一个屏幕中,我有一个图像和一些在运行时生成的按钮,现在我想要的是这些按钮应始终与图像成比例

例如 Hand1 按钮应始终保留在图像的 Hand1 所在位置

这是我的初始图像

初始图像

但是在调整表单大小时,它变成了这样

在此输入图像描述

我想要的是这些按钮不应该改变它们的大小并且始终保持与图像的比例。

图像的 ImageSizeMode 为 StretchImage,按钮未锚定(否则它们不会移动或开始拉伸/收缩。

我怎样才能实现这种行为。?

c# winforms

5
推荐指数
1
解决办法
2171
查看次数

将非常小的数字字符串转换为十进制

我想将一个非常小的数字转换为十进制数,

让我们说吧

String secondsStr = 0;
Decimal secondsValue;
Boolean success = Decimal.TryParse(secondsStr, out secondsValue);
Run Code Online (Sandbox Code Playgroud)

但问题是我有它的字符串表示,3.24E-08

String secondsStr = 3.24E-08;
Decimal secondsValue;
Boolean success = Decimal.TryParse(secondsStr, out secondsValue);
Run Code Online (Sandbox Code Playgroud)

它总是将成功归为虚假.

如何解析得到0.00000003244657?

c# string decimal type-conversion

2
推荐指数
1
解决办法
1015
查看次数

按人类排序顺序中的值排序字典

我想根据其值对字典进行排序并获取结果字典

Dictionary<String, Int32> outputDictionary = new Dictionary<String, Int32>();
outputDictionary.Add("MyFirstValue", 1);
outputDictionary.Add("MySecondValue",2);
outputDictionary.Add("MyThirdValue", 10);
outputDictionary.Add("MyFourthValue", 20);
outputDictionary.Add("MyFifthValue", 5);
Run Code Online (Sandbox Code Playgroud)

我用3种方法按值排序

方法1:

outputDictionary = outputDictionary.OrderBy(key => key.Value).ToDictionary(pair =>   pair.Key, pair => pair.Value);
Run Code Online (Sandbox Code Playgroud)

方法2:

  foreach (KeyValuePair<String, String> item in outputDictionary.OrderBy(key => key.Value))
 {
   // do something with item.Key and item.Value
 }
Run Code Online (Sandbox Code Playgroud)

方法3:

 outputDictionary = (from entry in outputDictionary orderby entry.Value ascending   select entry).ToDictionary(pair => pair.Key, pair => pair.Value);
Run Code Online (Sandbox Code Playgroud)

但无论我选择何种方法,我都会得到结果

 MyFirstValue, 1
 MyThirdValue, 10
 MySecondValue, 2
 MyFourthValue, 20
 MyFifthValue, 5
Run Code Online (Sandbox Code Playgroud)

我想要的地方

  MyFirstValue, 1
  MySecondValue, 2 …
Run Code Online (Sandbox Code Playgroud)

c#

1
推荐指数
1
解决办法
262
查看次数

删除字符串中字符和数字之间的空格

我正在尝试删除字符串中字符和数字之间的空格例如,如果我有“Value 01”,我想要返回“Value01”。所以我写了一个函数,但它给了我错误 Unexpected ),而且我不确定这是否是最有效的方法。我尝试搜索 Regex Replace 但找不到任何此类内容

CREATE DEFINER=`root`@`localhost` FUNCTION `RemoveSpaces`(
   myWord VARCHAR(1000)
) RETURNS VARCHAR(1000)

BEGIN
DECLARE RETURNSTRING VARCHAR(1000);

SET RETURNSTRING = (
SELECT 
   LEAST (
   if (Locate('0',myWord) >0, 
      REPLACE(myWord, ' 0', '0'),
   if (Locate('1',myWord) >0,
      REPLACE(myWord, ' 1', '1'),
   if (Locate('2',myWord) >0,
      REPLACE(myWord, ' 2', '2'),
   if (Locate('3',myWord) >0,
      REPLACE(myWord, ' 3', '3'),
   if (Locate('4',myWord) >0,
      REPLACE(myWord, ' 4', '4'),
   if (Locate('5',myWord) >0,
      REPLACE(myWord, ' 5', '5'),
   if (Locate('6',myWord) >0,
      REPLACE(myWord, ' 6', '6'),
   if (Locate('7',myWord) >0,
      REPLACE(myWord, …
Run Code Online (Sandbox Code Playgroud)

mysql

1
推荐指数
1
解决办法
7293
查看次数

标签 统计

c# ×4

decimal ×1

lambda ×1

mysql ×1

string ×1

type-conversion ×1

winforms ×1