我试图制作一个简单的C#UWP应用程序,当鼠标悬停在按钮上时,我不知道如何删除灰色背景.
我怎么做的?
(记住:它是适用于Windows 10平台的UWP,而不是Windows Phone 8.1或WPF)
我是C#中的一个完全noob和begginer程序员,但我正在阅读Roslyn和'C#7.0中有什么新东西',我发现了一些非常有趣的东西,我无法找到我需要的答案.
在此链接中,给出的所有示例都包含类似WriteLine("something");的内容Console.WriteLine("something");,例如:
public void PrintCoordinates(Point p)
{
p.GetCoordinates(out int x, out int y);
WriteLine($"({x}, {y})");
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:我怎么能这样做?
会这样的吗?
public static void WriteLine(string v) => Console.WriteLine(v);
Run Code Online (Sandbox Code Playgroud) 我尝试了解编程中的良好实践,并且我坚持这个问题.我知道在Java中,递归函数可能是"痛苦的屁股"(有时),我尝试尽可能多地实现该函数的尾部版本.是值得打扰这个还是我应该用老式的方式做什么?这两个函数之间有什么区别(在Kotlin中):
tailrec fun tail_fibonacci(n : BigInteger, fib1 : BigInteger = BigInteger.ZERO , fib2 : BigInteger = BigInteger.ONE) :
BigInteger {
return when(n){
BigInteger.ZERO -> fib1
else -> tail_fibonacci(n.minus(BigInteger.ONE),fib1.plus(fib2),fib1)
}
}
fun iterative_fibonacci(n: BigInteger) : BigInteger {
var count : BigInteger = BigInteger.ONE
var a : BigInteger = BigInteger.ZERO
var b : BigInteger = BigInteger.ONE
var c : BigInteger
while(count < n){
count += BigInteger.ONE
c = a + b
a = b
b = c
}
return b
}
Run Code Online (Sandbox Code Playgroud) 我想做一个BigInteger的阶乘(在Kotlin中)。使用尾部递归时,当我尝试执行9000时会出现StackOverFlow错误!。使用非递归函数,我可以做到这一点……但是我很好奇如何避免这种错误。
这是我的代码:
import java.math.BigInteger
fun tail_recursion_factorial(n: BigInteger, factorialOfN: BigInteger = BigInteger.valueOf(2)): BigInteger {
return when(n){
BigInteger.ONE -> BigInteger.ONE
BigInteger.valueOf(2) -> factorialOfN
else -> tail_recursion_factorial(n.minus(BigInteger.ONE), n.times(factorialOfN))
}
}
fun non_recursive_factorial(n: BigInteger): BigInteger{
var i: BigInteger = BigInteger.ONE
var factorial: BigInteger = BigInteger.ONE
while (i<=n){
factorial = factorial.times(i)
i = i.plus(BigInteger.ONE)
}
return factorial
}
fun main(args: Array<String>){
print("n == ")
var n = readLine()!!
//recursive
//println("$n! is ${tail_recursion_factorial(BigInteger(n))}")
//non-recursive
println("$n! is ${non_recursive_factorial(BigInteger(n))}")
}
Run Code Online (Sandbox Code Playgroud)