小编Fil*_*dor的帖子

长[]到长[],反之亦然?

有没有人知道一种有效,快速和干净的方式来转换Long[]long[]Java,反之亦然,在明显的for循环中使用(un)box©?

注意:这不是关于拆箱Long或装箱long.我明确地谈论阵列!

"没有比循环和复制更好的方法"也是一个答案;)

编辑: 我知道做上述事情的意义,最好避免它.假设,我无法避免它,并希望在不使用第三方的情况下尽可能巧妙地做到这一点.

java

4
推荐指数
2
解决办法
2217
查看次数

为什么这个错误的对象初始化用花括号甚至编译?

Whille为WPF/MVVM项目的集合创建了一些虚拟数据,我生成了以下错误代码,编译得很好,但在运行时抛出异常.

有一个嵌套的数据对象结构,我错误地只用花括号进行实例化(看起来像编写JavaScript确实会对大脑造成永久性损害).

using System.Collections.ObjectModel;

namespace testapp
{
    class Program
    {
        static void Main(string[] args)
        {
            var collection = new ObservableCollection<TopLevelDataObject>();
            collection.Add(new TopLevelDataObject{Nested = {Bar = 5}});         // NullReferenceException
        }

        class TopLevelDataObject
        {
            public NestedDataObject Nested { get; set; }
            public string Foo { get; set; }
        }

        class NestedDataObject
        {
            public double Bar { get; set; }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么要编译?

如果我创建一个匿名类型,比如Nested = new {Bar = 5},我在编译期间收到错误消息(因此失败):

Cannot implicitly convert type '<anonymous type: int Bar>' to 'testapp.Program.NestedDataObject'
Run Code Online (Sandbox Code Playgroud)

为什么在省略 …

c# object-initializers curly-braces

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

减少 C# 中重复代码的最佳方法 - 需要为 DateTime 转换创建函数

我已经用 C# 编写了以下代码,并希望防止每次都重新编写 try 语句。

  1. 这是在使用多个对象时减少重复代码的最佳方法,创建一次代码函数并且函数编写正确吗?

  2. 我不能在范围内使用“GoTo”,有人可以请教为什么以及如何解决这个问题吗?

Console.WriteLine("Enter DOB for member {0} - yyyy - mm - dd format", memberName);
//enter DOB for object, also create DateTime struct instance below,"d" is just a reference
DateTime d = new DateTime();
string dob = Console.ReadLine();
//pass string to convert to Date tinme
try 
{ 
    d = Convert.ToDateTime(dob); 
} 
catch (Exception ex) 
{ 
    Console.WriteLine("Exception in date. This record cannot be stored");
    goto again1; 
}

Console.WriteLine("Enter Date of Order {0} - yyyy - mm …
Run Code Online (Sandbox Code Playgroud)

c#

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

更好的解决方案,允许 C# 中的泛型类型使用 MinValue 和 MaxValue 字段

我有以下代码,我想传递泛型类型的 MinValue 和 MaxValue。它还有助于以某种方式能够通过接口指定泛型类型应具有 MinValue 和 MaxValue 属性,但我找不到正确的接口。

public class TreeNode<T> where T : IComparable
{
    public T data { get; set; }

    public TreeNode(T value) {...}
    
    public bool IsValidBST()
    {
        return IsValidBST(this, T.MinValue, T.MaxValue);
    }

    public bool IsValidBST(TreeNode<T> node, T min, T max) {...}
}
Run Code Online (Sandbox Code Playgroud)

但我的编译器告诉我“T是一个在给定上下文中无效的类型参数”。

c#

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

CancellationTokenSource 与 TimeSpan.From... 或恒定时间值?

创建 CancellationToken 时使用 TimeSpan.FromMilliseconds(1000) 而不是使用常量值有什么优势吗?

CancellationTokenSource ctsTs = new(TimeSpan.FromMilliseconds(1000));
CancellationTokenSource ctsConst = new(1000);
Run Code Online (Sandbox Code Playgroud)

.net c# cancellationtokensource

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

是否有可能看到我的应用程序扔了多少"异常"?

我有一些(旧的,旧的)控制台应用程序,它们可以处理大型数据库并处理一些数据.在处理数据时,抛出并捕获异常.不幸的是,如果记录无效,这在某些情况下是有意的.

我想测量异常的数量是否在可接受的范围内.

处理100.000条记录,20条Exceptions捕获=>正常运行.

处理100.000条记录,10.000 Exceptions捕获=>这是一个问题.

例如,代码

static void Main(string[] args)
{
    DoSomething();

    int x = HowMuchErrorsDidICatch(); // This is where 

    Console.WriteLine("This run catched {0} Exception.", x);
}

// Some work to do..
static void DoSomething()
{
    for (int i = 0; i < 1001; i++)
    {
        try
        {
            // .. Processing some Data
            if (i % 10 == 0)
                throw new Exception("Something went wrong.");
        }
        catch (Exception ex)
        {
            errorCount++;
            // Handling the Exception
        }
    } …
Run Code Online (Sandbox Code Playgroud)

.net c# exception-handling exception

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

Unity C#,产生错误位置的对象

我试图在Y轴上逐个产生+0.6空间的对象.对象应该是0.6,1.2,1.8,2.4,3等,而它看起来像0.6,1.8,3.6,6,9等.我不知道发生了什么,所以我希望你能帮助我,这是一个代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Spawner : MonoBehaviour {

public GameObject cubeOne, cubeDouble, cubeTriple, cubeQuattro, cubeOneShort, cubeDoubleShort, cubeTripleShort, cubeQuattroShort, sphereOne, sphereDouble, sphereTriple, sphereQuattro, sphereOneShort, sphereDoubleShort, sphereTripleShort, sphereQuattroShort;
int whatToSpawn;
float position;
int yRotation;

void Update () {

        whatToSpawn = Random.Range(1, 5);
        position += 0.6f;
        Vector3 newPosition = transform.position;
        newPosition.y += position;

        switch (whatToSpawn)
        {
            case 1:
                Instantiate(cubeOne, transform.position = newPosition, transform.rotation * Quaternion.Euler(90, 0, 0));
                Debug.Log(position);
                break;
            case 2:
                Instantiate(cubeDouble, transform.position = newPosition, transform.rotation * Quaternion.Euler(90, …
Run Code Online (Sandbox Code Playgroud)

c# object spawn unity-game-engine

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

在子方法中将枚举转换为字符串

我正在努力寻找正确的演员阵容。有人可以告诉我正确的方向吗?

请参阅下面的示例:

public enum E_Enum1
{
Value1,
Value2,
Value3
}

public enum E_Enum2
{
Bla,
blubb,
whatever
}

public void myMethod(Enum e)
{
//print e.value in int
//print e.toString()
}


myMethod(E_Enum2.whatever);
myMethod(E_Enum1.Value2);
Run Code Online (Sandbox Code Playgroud)

我想得到以下结果:

2
whatever
1
Value2
Run Code Online (Sandbox Code Playgroud)

c# methods enums

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

如何重命名类型/类,或为其指定别名?

例如在我的代码中我想要MyUser别名Dictionary<string,string>

我试过

Type MyUser =typeof(Dictionnary<string,string>);
MyUser user;
Run Code Online (Sandbox Code Playgroud)

但这不起作用。

感谢您的关注。

c#

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

DateTime.Parse 字符串未被识别为有效的日期时间

为了便于提问,代码已被简化,字符串是从数组中提取的,并且已被验证与下面提供的完全相同。下面的代码会导致错误:

消息:“字符串未被识别为有效的日期时间。”

string myDate = "20221215.08.14.01.37";
DateTime dt = DateTime.Parse(myDate);
Run Code Online (Sandbox Code Playgroud)

我期望将字符串转换为 DateTime,尝试使用其他 DateTime 方法(例如 TryParse)并提供格式设置,但没有成功。

c# datetime

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

如何使用java从函数返回数组

在此输入图像描述

我写了一个程序来获取用户的地址详细信息并打印相同而不使用2 for循环,所以我使用函数add_show().但我收到错误,因为string []无法转换为字符串.返回添加;

public String add_show()
{ 

    Scanner h=new Scanner(System.in);
    System.out.println("Enter the number of address to deliver");
    int n=h.nextInt();
    String[] add=new String[n];
    System.out.println("Enter the"+n+" of address to deliver");
    for(int i=0;i<n;i++)
    {
        add[i]=h.next();
    }
    return add;
}

public void show()
{
     System.out.println("Book name is "+B_name());
     System.out.println("count "+department());
     System.out.println("address is "+add_show());
}
Run Code Online (Sandbox Code Playgroud)

请更新,如何从函数中获取数组的返回值.

java

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