小编suj*_*lil的帖子

自动转换Azure移动服务中的DateTime对象

我有一个带有 .NET 后端的 Azure 移动服务。我正在使用ApiController创建一个DateTime对象并将其返回到 .NET 客户端(特别是 Windows Phone 应用程序)的 。

当 thisDateTime作为对象的一部分返回到客户端时,时间会自动转换为不同的时间。Azure 似乎假定该时间DateTime采用 Utc 格式,并尝试将其转换为本地时间。

我不希望发生这种情况,因为DateTime对于使用该应用程序的每个人来说都应该是相同的,因此转换为本地时间是不需要的。

我已尝试明确尝试通过尝试以下操作使 Azure 不转换日期:

dateTime = DateTime.SpecifyKind(dateTime, DateTimeKind.Unspecified);
Run Code Online (Sandbox Code Playgroud)

然而,这没有任何效果。

如何确保DateTime具有 .NET 后端的 Azure 移动服务返回的对象在返回到 .NET 客户端时不会被转换?

c# datetime azure azure-mobile-services

5
推荐指数
0
解决办法
834
查看次数

Switch/case语句中的String.Empty生成编译器错误

如果String.Empty一样好"",那么编译器如何在语句中抛出string.Empty case呢?string.Empty在我看来,没有比这更稳定的了.谁知道?谢谢!

switch (filter)
            {
     case string.Empty:  // Compiler error "A constant value is expected"

                break;

                case "":  // It's Okay.
                    break;

            }
Run Code Online (Sandbox Code Playgroud)

c# string compiler-errors switch-statement

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

什么定义了内存流的容量

我正在使用以下代码计算对象(正在填充的列表)的大小:

 long myObjectSize = 0;
 System.IO.MemoryStream memoryStreamObject = new System.IO.MemoryStream();
 System.Runtime.Serialization.Formatters.Binary.BinaryFormatter binaryBuffer = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
 binaryBuffer.Serialize(memoryStreamObject, myListObject);
 myObjectSize = memoryStreamObject.Position;
Run Code Online (Sandbox Code Playgroud)

最初的容量memoryStreamObject1024 在此处输入图片说明

后来(在列表中添加了更多元素之后)显示为2048。 在此处输入图片说明

并且它似乎随着流内容的增加而增加。那么在这种情况下容量的目的是什么?

c# memory memorystream capacity

5
推荐指数
2
解决办法
3905
查看次数

C#/ .net字符串魔术从文本文件输入中删除注释行?

假设您将文本文件作为长字符串读入:

123 123 123
123 123 123
// Just a comment
123 123 123    
123 123 123
# Just a comment
123 123 123
Run Code Online (Sandbox Code Playgroud)

您通常将其拆分为类似这样的行(Unity3D中的示例),

    List<string> lines = new List<string>(
        controlFile.text.Split(new string[] { "\r","\n" }, 
        StringSplitOptions.RemoveEmptyEntries));
Run Code Online (Sandbox Code Playgroud)

.NET提供了大量的字符串魔法,例如格式化等等.

我想知道,是否有一些可用的魔术可以轻松删除评论?

注意 - 当然,人们可以使用正则表达式等来做到这一点.正如SonerGönül指出的那样,可以使用.Where.StartsWith

我的问题是,在.NET字符串魔法的世界中是否有一些功能,它特别"理解"并有助于评论.

即使专家的答案"绝对没有",这也是一个有用的答案.

.net c# linq string

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

C# WPF 从另一个窗口刷新列表框

我正在制作一个基于 Access 数据库的 WPF 项目。数据库有两个表:

  • tblMovies(MovieID:PK、标题、导演、类型等)
  • tblActors(ActorID:PK、MovieID:FK、名字、姓氏等)

我有一个列表框,可以在其中查看所有电影,如果单击其中一部电影,它会显示一个新窗口,其中包含该电影的所有详细信息:标题、导演、类型,还有演员。

在此窗口中,我添加了一个按钮来创建新演员。这将打开一个新窗口,您可以在其中输入 MovieID (FK) 和有关演员的信息。当我单击“保存更改”时,它会起作用并且窗口关闭,但我的 listboxActors 需要手动刷新(我为此添加了一个按钮)才能看到新的 actor。

在我的其他窗口中单击“保存更改”后,有没有办法刷新我的 listboxActors ?

我首先通过单击“添加新演员”时关闭第一个屏幕来做到这一点,然后如果我保存,它将重新打开屏幕,并且它会自动刷新,但我不希望那样。

我的列表框演员:

        listBoxActors.ItemsSource = mov.Actors;
Run Code Online (Sandbox Code Playgroud)

保存按钮(在另一个屏幕中)

    private void buttonSaveNewActor_Click(object sender, RoutedEventArgs e)
        {
            Actor act = new Actor();
            act.MovieID = Convert.ToInt32(textBoxMovieID.Text);
            act.FirstName = textBoxFirstName.Text;
            act.LastName = textBoxLastName.Text;
            act.Country = textBoxCountry.Text;
            act.Born = Convert.ToDateTime(BornDate.SelectedDate);
            act.Bio = textBoxBio.Text;
            ActorRepository.AddActor(act);
            MessageBox.Show("The actor: " + act.FirstName + " " + act.LastName + " has been created");
            this.Hide();
        }
Run Code Online (Sandbox Code Playgroud)

刷新按钮:

    private void buttonRefresh_Click(object sender, RoutedEventArgs e)
    { …
Run Code Online (Sandbox Code Playgroud)

c# wpf refresh

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

如何检查字符串是否包含列表值,如果包含但包含其他值,则单独检查

我试图弄清楚如何定义字符串是否包含列表值,如果包含但是包含其他值.

如果我有输入字符串:

string inputString = "it was one";
Run Code Online (Sandbox Code Playgroud)

我想找到条件的具体值:

var numbList = new List<string> {"zero", "one", "two"}; 

if (!numbList.Any(inputString.Contains)) 
{
     Console.WriteLine("string does not contains list value");                                           
}
else
{
     Console.WriteLine("string contains list value"); 
}
Run Code Online (Sandbox Code Playgroud)

但是如果我想知道第三个条件,如果字符串包含值但是还包含其他单词,那么不确定什么是正确的方法.

对于字符串:inputString = "it was one";期望的结果应该是:

 Console.WriteLine("string contains list value and other words"); 
Run Code Online (Sandbox Code Playgroud)

对于字符串: inputString = "one";

 Console.WriteLine("string contains list value"); 
Run Code Online (Sandbox Code Playgroud)

并为: inputString = "it was";

 Console.WriteLine( "string does not contains list value"); 
Run Code Online (Sandbox Code Playgroud)

c# regex string conditional-statements

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

DateTime在值为DateTime.MinValue时为NULL,或者为Null

在我的控制台应用程序中,我正在尝试格式化为HHmmss- >我确信这是由于我的数据类型,但我怎么能在NULL何时NULL显示1/1/0001 12:00:00 AM

这是我的语法

public static DateTime fmtLST;
public static string LST = null;        
if (LST != null)
{
  IFormatProvider format = System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat;
  fmtLST = DateTime.ParseExact(LST, "HHmmss", format);
}

Console.WriteLine(fmtLST.ToString("hh:mm:ss tt"));
Run Code Online (Sandbox Code Playgroud)

如果改为public static DateTime? fmtLastScanTime;我得到错误

'方法'ToString'没有重载需要1个参数

我怎么能有这个显示NULL而不是1/1/0001 12:00:00 AM?试图计算显示的1/1/0001 12:00:00 AM

c# datetime

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

在c#中,如何按尾数对双打列表进行排序?

如何按双精度的小数部分对双精度列表进行排序.
例如:对于输入<1.2, 2.3, 1.12, 5.1>,在排序之后,输出应该是<5.1, 1.12, 1.2, 2.3>

.net c# linq

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

用逗号分隔的字符串列表,并在列表的每个项目中添加前缀字符串

我有像......的清单

List[0] = "Banana"
List[1] = "Apple"
List[2] = "Orange"
Run Code Online (Sandbox Code Playgroud)

我想生成输出"My-Banana,My-Apple,My-Orange",因为我使用以下代码:

string AnyName = string.Join(",", Prefix + List));
Run Code Online (Sandbox Code Playgroud)

但是没有得到预期的输出,如何在每个项目之前添加My-

c# string list

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

使用 SqlDataReader 将数据行返回到 List&lt;string&gt;

我正在尝试创建一个通用的 SqlDataReader,它将一个包含 33 列的表转换为一个列表。我希望每个列表项都包含每行的所有 33 个列值。

但是,我的代码将每个值分配给一个单独的列表项。

因此,我有 33,000 个列表项,而不是 1000 个列表项 = 1000 行数据。

我更喜欢在数据表上使用列表,因为我需要做的列表比较要简单得多。

我怎样才能有 1000 个列表项,每个列表项有 33 个值?

   public static List<string> loadSQL(String query, String connectString)
    {
        List<string> dataList = new List<string>();

        using (SqlConnection connection = new SqlConnection(connectString))
        {
            using (SqlCommand command = new SqlCommand(query, connection))

            {
                connection.Open();

                using (SqlDataReader reader = command.ExecuteReader())
                {
                    while (reader.Read())
                    {

                        for (int i = 0; i < reader.FieldCount; i ++) 
                            { 
                                dataList.Add(Convert.ToString(reader.GetValue(i)));
                            }
                    }
                }
            }
        return dataList;

        }
    }
Run Code Online (Sandbox Code Playgroud)

... …

.net c# sqldatareader

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