标签: lambda

C#lambda表达式中的"我"是什么(_,me)=>是什么意思?我应该什么时候使用我?

完整的代码如下

if (CurrentThreadScheduler.Instance.ScheduleRequired)
{
    CurrentThreadScheduler.Instance.Schedule(this, (_, me) => subscription.Disposable = me.Run(observer, subscription, s => sink.Disposable = s));
}
else
{
    subscription.Disposable = this.Run(observer, subscription, s => sink.Disposable = s);
}
Run Code Online (Sandbox Code Playgroud)

c# lambda system.reactive

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

Lambda表达式C#Union在哪里

我有班级的对象

public class Person
    {
        public string Error { get; set; }
        public string Name { get; set; }
        public int Age { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

有些人有错误(没有姓名和年龄),有些人没有错误(姓名和年龄)

Person[] p1 = new Person[] { new Person { Error = "Error1" }, new Person { Name = "Name1", Age = 1 } };



Person[] p2 = p1
                .Where(c => string.IsNullOrEmpty(c.Error))
                .Select(
                    c => new Person { Name = c.Name, Age = c.Age }
                 ).ToArray()
                 Union()
                .Where(d => !string.IsNullOrEmpty(d.Error))
                .Select(
                    d => …
Run Code Online (Sandbox Code Playgroud)

c# linq asp.net lambda

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

如何在没有return语句的情况下编写这个lambda表达式?

以下方法实现了一个BiFunctiona Map<String,String>和一个值来搜索.它搜索的Entry在Map包含给定值,并返回相应的键.

这个实现有效,但是我想写一个没有return语句的lambda表达式,以使代码更优雅.

private BiFunction<Map<String, String>, String, String> findName = (m, s) -> {
    Map.Entry<String, String> e = 
        m.entrySet()
         .stream()
         .filter(entry -> entry.getValue() != null && !entry.getValue().isEmpty() && entry.getValue().equals(s))
         .findFirst()
         .orElse(null);
    return e != null ? e.getKey() : null;
};
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

java lambda optional java-8

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

lambda函数可以返回指针类型吗?

我在考虑这样的事情:

auto c = []() -> (int*) {int * b; b = new int(); b[0]=2; return b;};
Run Code Online (Sandbox Code Playgroud)

很抱歉,如果cuestion非常愚蠢,但我不确定为什么会产生编译错误:

main.cpp:3:18: error: expected type-specifier before '(' token
 auto c = []() -> (int*) {int * b; b = new int(); b[0]=2; return b;};
Run Code Online (Sandbox Code Playgroud)

c++ lambda c++11

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

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

如何防止Lambda LINQ表达式添加空值

我正在使用迭代列表的LINQ表达式执行查询,如下所示:

feedVideos.Add(vid.Where(f => f.UserName == friend.Friend_UserName).FirstOrDefault());
Run Code Online (Sandbox Code Playgroud)

如果没有任何对象,则此表达式将空值添加到列表中.我不知道这是不是正常的行为,但是如何在列表中没有任何对象时添加任何内容?

c# linq lambda

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

Java 8过滤列表中的列表

我有一个包含对象列表的对象列表,我想获得容器中的一个项目.这可能与lambda有关,还是只需要为循环嵌套?

这是我用于查找项目的当前方法:

for (Container c : containers) {
    for (Item i : c.getItems() {
        if (i.getKey().equals(key)) return i;
    }
}
Run Code Online (Sandbox Code Playgroud)

java lambda

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

将对象列表转换为字符串列表

写下面的内容有什么更好的方法?我可以使用Lambda表达式吗?

List<string> managerList = new List<string>();
foreach (Manager m in matchedManager)
{
    managerList.Add(m.FullName);
}
Run Code Online (Sandbox Code Playgroud)

c# linq asp.net-mvc lambda

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

在linq查询或c#中表示小时的3个数字的总和

我的列有花费的小时值,如(10.30,1.45 ...)我想总结这些数字以获得总花费时间.例:

值11.11,0.50,0.59

总花费时间11和分钟总和(11 + 50 + 59)= 120分钟= 2小时

所以我的最终输出应该是11 + 2 = 13.00小时

但在我的c#查询中,我得到11.11 + 0.50 + 0.59 = 12.2这是错误的,因为我认为它是小时格式.

如何在不分割数字的情况下获得13.00小时的结果.

我试过了:

db.myTable.Where(t => t.is_deleted == false).Sum(t => t.time_spent)
Run Code Online (Sandbox Code Playgroud)

这给了我12.2但我想要13.00,因为我认为它是时间.

编辑:

我用了

List<string> hoursTemp1 = Model.tblName.Where(t => t.is_deleted == false).Select(p => p.time_spent.ToString()).ToList();
    var total_effort_hr = new TimeSpan(hoursTemp1.Sum(x => TimeSpan.ParseExact(x, "h\\.mm", System.Globalization.CultureInfo.InvariantCulture).Ticks)).ToString(@"hh\:mm");
Run Code Online (Sandbox Code Playgroud)

但是现在我正在获得OverflowException for Hour值大于24且min值大于60

那么有人可以帮我解决这个错误并得到正确的结果吗?任何帮助都会被贬低.

c# linq lambda

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

在python中使用`round`与`__round__`有什么不同?

在python 3中,这有效:

Celsius = [39.2, 45.2, 37.3, 37.8, 89]
Fahrenheit = map(lambda x: ((float(9/5))*x + 32).__round__(3), Celsius)

print(list(Fahrenheit))

[102.56, 113.36, 99.14, 100.04, 192.2]
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用,为什么?:

Fahrenheit = map(lambda x: ((float(9/5))*x + 32).round(3), Celsius)
Run Code Online (Sandbox Code Playgroud)

此外,现在很多python脚本都不使用这种旧格式__round__,我认为这样可以使脚本看起来更干净.还有其他核心原因吗?

python lambda function rounding python-3.x

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