小编Rom*_*och的帖子

C#7元组和异步

旧格式:

private async Task<Tuple<SomeArray[], AnotherArray[], decimal>>         
GetInvoiceDetailAsync(InvoiceHead invoiceHead) { ... }
Run Code Online (Sandbox Code Playgroud)

你怎么能用新的元组格式在C#7中做到这一点?

c# tuples c#-7.0

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

使用Firebase Unity SDK的Firebase Xcode链接器命令错误

Firebase Unity SDK 1.1.1.Unity 5.5.0p4 XCode 8.2.1

从Firebase使用身份验证和数据库时,在XCode中构建项目时出现以下错误:

对于建筑arm64未定义的符号:
"_OBJC_CLASS _ $ _ FIRGoogleAuthProvider",从引用:在libAuth.a(credential_ios_ef8c3cf45c3329a5e5902f99026c639a.o)objc级-REF
"_OBJC_CLASS _ $ _ FIRGitHubAuthProvider",从引用:objc级-REF在libAuth.a(credential_ios_ef8c3cf45c3329a5e5902f99026c639a. O)
"_OBJC_CLASS _ $ _ FIREmailPasswordAuthProvider",从引用:在libAuth.a(credential_ios_ef8c3cf45c3329a5e5902f99026c639a.o)objc级-REF
"_OBJC_CLASS _ $ _ FIRFacebookAuthProvider",从引用:在libAuth.a(credential_ios_ef8c3cf45c3329a5e5902f99026c639a.o)objc级-REF
"_OBJC_CLASS_ $ _FIRApp",引自:libApp.a中的objc-class-ref(app_ios_c76c7d869e568a9b561ea55e25a7dcc0.o)
"_ OBJC_CLASS _ $ _ FIRAuth",引用自:libAuth.a中的objc-class-ref(auth_ios_3c64a79cf1eb3f06f9309f4d8e91ee94.o)
"_ OBJC_CLASS _ $ _ FIRTwitterAuthProvider",引用自:libAuth.a中的objc-class-ref(credential_ios_ef8c3cf45c3329a5e5902f99026c639a.o)
"_ OBJC_CLASS _ $ _ FIROptions",引自:o libApp.a中的bjc-class-ref(app_ios_c76c7d869e568a9b561ea55e25a7dcc0.o)ld:找不到架构arm64 clang的符号:错误:链接器命令失败,退出代码为1(使用-v查看调用)

我在XCode中想念一下吗?或者在Unity中检查一下?

谢谢!

xcode unity-game-engine firebase firebase-authentication firebase-realtime-database

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

异步等待和线程

我正在async-await和任务一起工作,但我无法理解一件事:

异步任务是在单独的线程中执行的吗?

正如msdn所说(异步编程):

async和await关键字不会导致创建其他线程.异步方法不需要多线程,因为异步方法不能在自己的线程上运行.

但是在ThreadPool类(ThreadPool类)的描述中的注释:

使用线程池线程的操作示例包括:

当您创建Task或Task对象以异步执行某些任务时,默认情况下,该任务计划在线程池线程上运行.

所以,现在我不明白async任务是否使用单独的线程.请解释一下.谢谢.

.net c# multithreading threadpool async-await

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

投射不同的对象并在同一行中调用方法?

我有代码:

        foreach(var o in objects)
        {
            o.Update(time);

            if(o is Portal)
            {
                var a = (Portal)o;
                a.Interact(ref player, player.Interact);
            }
            else if(o is Enemy)
            {
                var e = (Enemy)o;
                e.Update(time, player);
            }
        }
Run Code Online (Sandbox Code Playgroud)

我不知道这样的事情是否可行?

我想在一行中做到这一点.这就是我的想法:

(Enemy)o => Update(time, player);
Run Code Online (Sandbox Code Playgroud)

我知道这很愚蠢,但我想要类似的东西.将播放器作为参数的方法对于Enemy对象是唯一的.我必须解析才能打电话给它.

c#

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

将表名称传递给 dbContext 并从实体框架中的表中获取值

我有一DbContext堂课,我在我的应用程序中使用代码优先方法。我有几个包含"Id""Value"列的常见标准表,我想通过表名和列名来查询它们,但实体框架中没有选项可以传递。

例子:

常用表:

Client_ClientDepartment (Id, Value) 
Client_ClientDesignation (Id, Value)
Client_ClientCompany (Id, Value)
Run Code Online (Sandbox Code Playgroud)

我想要做的是传递表名并Id获取值。我创建了一个通用方法

    public string GetClientValue(string id, string tableName)
    {
        DatabaseContext dbContext = new DatabaseContext();
        //Query the database and get value based on table and id.
        string value = dbContent. ("query here")             
        return value ;
    }
Run Code Online (Sandbox Code Playgroud)

我可以在实体框架中实现吗?是否可以?

c# sql sql-server entity-framework

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

为什么StreamWriter改变它写入文件的文本?

我有一个用C#编写的类库,用于将错误和其他信息写入文本或日志文件.问题是它在将文本写入文件时正在改变文本.它由vb.net应用程序调用.

应该写的文字: 02-20-2017 08:17:42 - Personality Update() beginning:

实际写的文字: 02-20-2017 08:17:42 - Per42onaliA17 Up20aAe() beA.D.inninA.D.:

下面是调用该方法来写出字符串的代码.

errHandler.AddLineToLogFile(Me.MasterLogFileName, "Personality Update() beginning:")
Run Code Online (Sandbox Code Playgroud)

以下是被调用的方法.

    public void AddLineToLogFile(string logFile, string message, bool replaceExistingFile = false)
    {
        DateTime now = DateTime.Now;
        using (StreamWriter writer = new StreamWriter(logFile, !replaceExistingFile))
        {
            writer.WriteLine(now.ToString("MM-dd-yyyy HH:mm:ss - " + message));
            writer.WriteLine(" ");
        }
    }
Run Code Online (Sandbox Code Playgroud)

有人可以帮我解决这个问题吗?

c# streamwriter

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

我的代码中导致此错误的原因是:String未被识别为有效的DateTime

导致错误的此代码段有什么问题:

        DateTime today = DateTime.Today;
        DateTime bday = DateTime.Parse(ctxtBirthday.Text);
        int age = today.Year - bday.Year;
        ctxtAge.Text = age.ToString();
Run Code Online (Sandbox Code Playgroud)

ctxtBirthday.Text 包含例如日期: 1978-03-08

ctxtAge.Text 是我想要年龄结果的地方.

.aspx负载时的错误是:

System.FormatException

字符串未被识别为有效的DateTime.

c# asp.net date

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