小编Dan*_*all的帖子

读取已打印到控制台的值

这可能是完全不可能的,但我想知道是否有办法读取控制台已经打印的值.例如,如果控制台打印

你以10米/秒的速度向北行驶

因此Console.WriteLine("You are travelling north at a speed of 10m/s");,有没有办法读取这一行,然后,为了论证,将这个值放在一个字符串中?

基本上我需要的是读取已经输出到控制台的内容,而不是用户输入.有办法吗?

提前致谢.

c# console

5
推荐指数
3
解决办法
7565
查看次数

Xamarin.Auth AccountStore没有删除值?

每当我调用我的方法从Xamarin中的AccountStore中删除某些内容时,它会删除它并说该列表中的内容少了一些.首先从依赖服务调用以下方法.

public void DeleteSecureValue(string appName, string key)
{
    var account = AccountStore.Create().FindAccountsForService(appName).FirstOrDefault();
    if (account.Properties.ContainsKey(key))
        account.Properties.Remove(key);

    var props = account.Properties;
    // when debugging, props doesn't contain a value for passcode
}
Run Code Online (Sandbox Code Playgroud)
Xamarin.Forms.DependencyService.Get<IStorageHandler>().DeleteSecureValue(GlobalConstants.APP_NAME, "passcode");

var account = AccountStore.Create().FindAccountsForService(GlobalConstants.APP_NAME).FirstOrDefault();
var props = account.Properties;
// when debugging, props now has a value for passcode when it shouldn't
Run Code Online (Sandbox Code Playgroud)

为什么密码的值似乎回来了?

c# xamarin.ios xamarin xamarin.forms

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

如何检查日期范围是否在 Ruby 中的另一个日期范围之间

所以我有一个可能类似于的日期范围,((Date.today - 90)..Date.today)我想检查是否(Date.today - 90)在另一个日期范围中的第一个值之后,并且在日期范围中Date.today的最终值之前。我已经尝试了以下

((Date.parse('25-12-2000')..(Date.parse('25-12-2020')).include?((Date.today - 90)..Date.today)
Run Code Online (Sandbox Code Playgroud)

这将返回 false。如果我替换include?member?或,我也会出错cover?

我如何让这个返回true?语法更改还是我需要在 Ruby 中使用不同的方法?

ruby ruby-on-rails

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

将多个较旧的提交合并为一个

我目前有一个如下所示的分支(A最近的提交和K最旧的,几个月前)

A-B-C-D-E-F-G-H-J-K   (branch-alpha)
Run Code Online (Sandbox Code Playgroud)

我想做的是替换提交D-GZ以便生成的分支看起来像这样

A-B-C-Z-H-J-K   (branch-alpha)
Run Code Online (Sandbox Code Playgroud)

我能找到的所有例子都是指结合最近的提交,但我想保留最近的 3 次提交。我想将第 4、5、6、7 号提交合二为一。我怎样才能做到这一点?

git

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

在F#中尝试finally语句

我是新手学习F#并编写一个简单的控制台应用程序,用户输入一个距离值,我想要一些验证来确保输入是一个数字.它还需要确保它是一个数字,如果不是,请告诉用户并重新开始.这是我到目前为止:

        let distance = 0

        while distance = 0 do 
            System.Console.WriteLine("How far do you want to travel?")
            let answer = System.Console.ReadLine()

            try
                let distance = System.Int32.Parse(answer)

                if distance < 0 then
                    let distance = 0
                    printfn "Can't use negative numbers"
                elif distance = 0 then
                    printfn "Can't travel a distance of 0"
                else
                    printfn "You are about to travel %A" distance

            finally
                let distance = 0
                printfn "Invalid distance format"
Run Code Online (Sandbox Code Playgroud)

这就是出现的问题:

![控制台应用程序的结果

在这个例子中,我想要发生的是"无效距离格式" 不会出现,它会移动到应用程序的下一部分.

我如何才能使"无效距离格式"仅在distance无法转换为int via时出现System.Int32.Parse(answer)

即使try-finally是完全错误的方式去做这件事,它还会怎么做呢? …

f#

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

传递类的属性作为参数?

我需要传入一个在扩展方法中使用两次的类的属性,以检查此属性中的重复值.

public static class MatchedProductsExtensionMethods
{
    public static bool IdenticalValues(this List<Product> matchedProducts)
    {
        var itemToMatch = matchedProducts.First();
        if (matchedProducts.All(p => p.PROPERTYTHATCANCHANGE == itemToMatch.PROPERTYTHATCANCHANGE))
            return true;
        else
            return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

所以我需要能够传递Product类的属性的名称然后替换PROPERTYTHATCANCHANGE.例如,Product类中的属性可能是ProdName或者ProdUsers然后我需要检查matchedProducts列表中是否有与这些属性具有相同值的项目.

提前致谢!

c# extension-methods

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