小编Soh*_*amC的帖子

find和index之间的区别

我是python的新手,并不能完全理解find和index之间的区别.

>>> line
'hi, this is ABC oh my god!!'
>>> line.find("o")
16
>>> line.index("o")
16
Run Code Online (Sandbox Code Playgroud)

他们总是返回相同的结果.谢谢!!

python string python-2.7

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

具有可变参数的函数的委托

我有这种功能

void func(params object[] parameters) { 
    //Function Body
}
Run Code Online (Sandbox Code Playgroud)

它可以接受以下类型的参数

func(10, "hello", 30.0);
func(10,20);
Run Code Online (Sandbox Code Playgroud)

等等.

我想Action为上面的函数创建一个委托.可能吗?如果不是那么为什么?

c# delegates func

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

无法将"MS.Internal.NamedObject"类型的对象强制转换为BitmapImage

我正在构建一个WPF应用程序,我在其中收到错误

无法将"MS.Internal.NamedObject"类型的对象转换为"System.Windows.Media.Imaging.BitmapImage"类型

XAML代码:

<DataGridTemplateColumn Header="Active" Width="60">
<DataGridTemplateColumn.CellTemplate>
    <DataTemplate>
       <Button>
            <Button.Content>
                <MultiBinding Converter="{StaticResource myImageConverter}"
                              ConverterParameter="Active">
                    <Binding Path="IsClosed"/>
                    <Binding Path="IsChecked"/>
                    <Binding Path="IsActive"/>
                    <Binding Path="TickImage"/>
                    <Binding Path="CrossImage"/>
                </MultiBinding>
            </Button.Content>
        </Button>
    </DataTemplate>
</DataGridTemplateColumn.CellTemplate>
Run Code Online (Sandbox Code Playgroud)

C#转换器代码:

public class ImageConverter : IMultiValueConverter
{
    public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        bool isClosed = (bool)values[0];
        bool isChecked = (bool)values[1];
        bool isActive = (bool)values[2];
        Image img = new Image();

        switch ((string)parameter)
        {
            case "Active":
                if (isClosed == true && isChecked == true)
                { …
Run Code Online (Sandbox Code Playgroud)

c# wpf

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

在java中获取UNIX纪元时间

我试图用Java获取UTC中的当前时间,并且发现了这篇文章:在Java中获取"unixtime"

我检查了所有的解决方案

  1. new Date().getTime()
  2. System.currentTimeMillis()
  3. Instant.now().toEpochMillis()

返回相同的值.我想知道他们三个之间是否有任何区别.如果是那么什么?

java unix-timestamp

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

'Self' of python vs 'this' of cpp/c#

I am quite amateur in OOP concepts of python so I wanted to know are the functionalities of self of Python in any way similar to those of this keyword of CPP/C#.

python

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

了解虚拟析构函数

我试图熟悉OOP概念,但不太明白它的概念virtual.

  1. 一个人可以创造一个virtual destructor而不是一个virtual constructor.为什么?
  2. virtual destructors内部如何处理?我指的是连接虚析构函数说明了这个概念,但我的问题是如何将vptr两者的vtableS(派生和基地)被称为?(在虚拟成员函数的情况下,当这种情况发生时vptr,Derived类指向的函数通常只被调用)
  3. 是否有其他情况可能需要使用virtual destructor

任何人都可以通过链接/示例帮助我理解上述概念吗?

c++ gcc

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

实体框架 - 在创建模型时不能使用上下文

我正在尝试创建一个控制台应用程序,我试图使用Entity Framework动态创建数据库和表来存储数据.但是,当我尝试将数据添加到我的DbSet.我收到以下错误.

EntityFramework.dll中发生了未处理的"System.InvalidOperationException"类型异常

附加信息:创建模型时无法使用上下文.如果在OnModelCreating方法中使用上下文,或者同时由多个线程访问相同的上下文实例,则可能抛出此异常.请注意,DbContext和相关类的实例成员不保证是线程安全的.

我已经提到了其他类似错误的帖子,但没有一个解决方案有效.这是一个单线程应用程序.

错误发生在行

this.context.Environments.Add(entity)
Run Code Online (Sandbox Code Playgroud)

DataSource.cs

public class DataSource
{
        private static DataSource instance;

        public DataSource()
        {
            this.context = new CounterContext();
        }

        public static DataSource Instance
        {
            get
            {
                return instance ?? (instance = new DataSource());
            }
        }

        private CounterContext context;

        public void AddCockpitEnvironmentDetails(IList<Environment> environmentList)
        {
            foreach (var entity in environmentList)
            {
                this.context.Environments.Add(entity);
            }

            this.context.SaveChanges();
        }
...
}
Run Code Online (Sandbox Code Playgroud)

我的背景:

public class CounterContext : DbContext
{
        public CounterContext()
            : base("name=CounterDbString")
        {
            Database.SetInitializer<CounterContext>(new CreateDatabaseIfNotExists<CounterContext>());
        }
        public DbSet<CounterData> CounterDetails …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework

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

如何让父线程等待子线程完成 - C#

我正在运行后台线程来从数据库中获取数据,以便当前线程(UI)不会冻结.我正在使用TPL来实现这一目标.

List<string> _myList1, _myList2;
private void LoadCollections(){
    Task db_task = new Task(() => CallDB());
    var continuations = db_task.ContinueWith((ant) =>
    {
        _myList1 = GetDataFromMetaData1();
        _myList2 = GetDataFromMetaData2();
    });

    db_task.Start();
    LoadTemplates(); //execute only after 'db_task' completes execution
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中

CallDB() - 从数据库中获取数据并将其存储在元数据中.在这种情况下,请将其视为字符串列表.(比如说List<string> MetaStrings)

GetDataFromMetaData1()GetDataFromMetaData2()- 获取2个单独的列表,这些列表是子列表MetaStrings.

现在我想执行的功能LoadTemplates后,才_myList1_myList2被加载时,即db_task执行完毕.目前,我正在使用它

while(_mylist1==null && _mylist2==null)
    Thread.Sleep(50);

LoadTemplates();
Run Code Online (Sandbox Code Playgroud)

但是当UI线程进入睡眠状态时,这显然会冻结UI.那么有人能建议一种有效的方法来处理这种情况吗?

PS:LoadTemplates()初始化一些ObservableCollection变量.如果LoadTemplates()在子线程内部调用,db_task则抛出以下错误This type of CollectionView does not …

c# multithreading

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

一系列日期中公司的平均股价

最近在一次采访中,我被问到一个非常有趣的问题.

假设给出了大量n个对象,其中每个对象代表给定日期公司的股票价格.考虑到两者之间没有缺失日期,并且任何给定日期的股票价格保持不变.我们希望找到任意两个日期之间的平均股票价格,即对于给定货币对(startDate,endDate),以及startDate <endDate.

显然,通过遍历整个阵列来找到平均值,可以得到算法的O(n)解.但是,我们可以优化计算,我们可以将数据存储在某些数据结构中或进行某种预处理吗?面试官要求提供O(1)解决方案.

arrays algorithm data-structures

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

如何压缩长度不均匀的列表

我有 3 个列表。

>>> a = [1,2,3,4,5]
>>> b = ['a','b','c','d']
>>> c = ['x','y','z'] 
Run Code Online (Sandbox Code Playgroud)

我希望以不遗漏任何元素的方式压缩它们。python中是否存在这样的函数可以执行以下任务?

>>> myzip(a,b,c)
[(1, 'a','x'), (2, 'b','y'), (3, 'c','z'), (4,'d'), (5)]
Run Code Online (Sandbox Code Playgroud)

提前致谢!!

python list-comprehension python-2.7

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

是ICollection <>.添加()线程安全吗?

我有一个如下集合?

public ICollection<MyClass> Property { get; private set; }
...
Property = new List<MyClass>();
Run Code Online (Sandbox Code Playgroud)

我希望在从DB中获取每个项目后添加MyClass项目.现在,每个数据库提取都在单独的后台线程中处理,并且它们同时运行.因此,DB调用的每个返回值都将面临.现在这可能会导致竞争条件,因为可能会在一个瞬间多次调用.PropertyMyClassProperty.Add()Property.Add()

所以我的问题是,List<>.Add()或者在ICollection<>.Add()内部执行的任何其他类处理任何竞争条件,还是需要明确处理?如果是这样呢?

c# collections concurrency thread-safety

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