我有一个类人:
class Person(var fullName: String, var nickname: String, var age: Int)
Run Code Online (Sandbox Code Playgroud)
在我的代码中,有时我有一个 Person 对象列表和一个昵称列表。
var people: List<Person> = listOf(
Person("Adam Asshat", "dontinviteme", 21),
Person("Bob Bowyer", "bob", 37),
Person("Emily Eden", "emily", 22)
)
var invitedToParty: List<String> = listOf("bob", "emily")
Run Code Online (Sandbox Code Playgroud)
现在我想通过使用 lambda 来获得一个只有 Bob 和 Emily 的 List,但我不确定在 Kotlin 中我会如何处理它。
var invitedPeople: List<Person> = // a lambda that results in a list containing only Bob and Emily's objects
Run Code Online (Sandbox Code Playgroud)
在 C# 中,我可能会使用 LINQ 和 .where() 方法与 == any() 结合使用,但从我发现的内容来看,Kotlin 似乎没有类似的东西。
这在 Kotlin lambda …
在使用 xunit 进行测试时,我在运行测试时不断遇到构建错误(CS0579 和 CS0006):
我尝试删除 bin/obj 文件夹,并尝试使用 <GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute> 抑制属性的生成,但两者都导致了其他问题(来源: https: //github.com/dotnet/cli/issues/4710) 。
解决方案结构:
我必须手动添加对 xunit.core.dll 和 xunit.assert.dll 的引用。
有人有解决这个问题的经验吗?我还在测试抛出异常的方法时遇到问题(请参阅Exception not being returned in setter),我怀疑这可能是根本原因的症状。
我是 Android 和 Kotlin 开发的新手。
我想从一个简单的“Hello World”开始,但我已经遇到了问题。
我在 MainActivity 中添加了一个 Textview,并希望设置一个 onClick 侦听器来更改我拖入该活动的 TextView 的文本。
编译器现在抱怨 'TextView' 是一个未解析的引用(它对按钮等也是如此)。
然后我按照网站的建议添加了 kotlinx 导入,但这无法解决任何问题。下面的代码示例,我添加了任何带有星号作为行注释的内容。
package com.example.my.mynewapp
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.fragmentX.view.* // *
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val textView: TextView = findViewById(R.id.testView) as TextView // *
textView.setOnClickListener { // *
textView.text = "You clicked me! You flipping clicked me!" // *
} // *
}
}
Run Code Online (Sandbox Code Playgroud)
有人会知道发生了什么吗?