小编Sum*_*jee的帖子

C#,旋转2D数组

我已经看过关于旋转2D阵列的其他帖子,但它并不是我想要的.我想要这样的东西

 int[,] original= new int[4,2]
       {
           {1,2},
           {5,6},
           {9,10},
           {13,14}
       };
Run Code Online (Sandbox Code Playgroud)

我想把它变成这样,rotateArray = {{1,5,9,13},{2,6,10,14}}; 我想按列进行一些分析,而不是按行进行分析.

这有效,但有更简单的方法吗?

 private static int[,] RotateArray(int[,] myArray)
  {
        int org_rows = myArray.GetLength(0);
        int org_cols = myArray.GetLength(1);

        int[,] myRotate = new int[org_cols, org_rows];

        for (int i = 0; i < org_rows; i++)
        {
            for(int j = 0; j < org_cols; j++)
            {
                myRotate[j, i] = myArray[i, j];
            }
        }

        return myRotate;
    }
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法来迭代c#中的列?

c# arrays

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

使用WebClient.UploadFileAsync方法获取服务器响应

WebClient.UploadFileAsync用来将本地文件上传到Web服务器,我想知道在上传完成后是否有可能从服务器获得任何响应?

使用WebClient.UploadFile它时可以获得包含任何响应的字节数组.但我想异步上传.

谢谢.

c# webclient

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

如何在SQL Server 2008中使用三元运算符?

SQL查询:

SELECT * 
FROM Account 
WHERE (type <>100000002 ? Id='something': Id=null)
Run Code Online (Sandbox Code Playgroud)

但它显示错误:

"?"附近的语法不正确

请帮我.

sql sql-server

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

使用msbuild构建错误的网站 - ASPNETCOMPILER:错误ASPRUNTIME:对象引用未设置为对象的实例

我试图使用.NET 4.0.30319下的msbuild.exe构建我们的Web项目,当我收到以下错误:

ASPNETCOMPILER:错误ASPRUNTIME:对象引用未设置为对象的实例.

这个项目一直在建设,直到大约一个月前我们试图在长时间不活动后建造.我尝试过以下方法:

  1. 清除Framework和Framework64下的临时ASP .NET文件区域

  2. 删除可能被拉入的所有*.compiled文件

  3. 按照帖子重建Web部署项目

在这种情况下,所有这些解决方案似乎都失败了.对我来说奇怪的是,当我检查日志并独立运行aspnet_compiler(而不是通过msbuild)时,我没有得到错误,ASP编译到指定的部署就好了.

我们将非常感谢您采取进一步措施的任何建议.

c# asp.net msbuild compiler-errors

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

C#字典表现

我正在使用Dictionary来存储数据,并将缓存它.我想通过限制Dictionary <>的大小来避免服务器内存问题,并且具有良好的性能,无论是大小还是条目数.
这样做的最佳方法是什么?除了词典之外,我还应该考虑另一个课吗?

c# asp.net dictionary

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

C#Winforms DatagridviewCombobox异常String无法转换为类

我从datagridview中嵌入的datagridviewcombobox(下拉菜单)控件中选择一个新值时遇到异常.组合框由BindingSource填充,其中填充了我的类的实例.我可以正确显示菜单中的选项,然后选择一个,但是将焦点更改为新控件(我猜想提交更改)会导致出现异常:从System.String到myclass的无效转换.堆栈跟踪(如果我正确使用该字)显示源是

System.Windows.Forms.DataGridView.PushFormattedValue级联到System.Convert.DefaultToType

下面有一个更明确的解释(抱歉它很长,但我想让它可重复):

我有一个名为Occupant的空类,没有属性(当Occupant也有一个字符串Name属性时,问题就存在了,所以不是这样).我有一个名为OccupantSource的BindingSource,其DataSource指向Occupant.

我还有一个叫做Car的类,有一个名为Driver的Occupant属性.

在我的Form_Load()中,我两次调用OccupantSource.AddNew(),并调用一次CarSource.AddNew().

我有一个DataGridView控件,其DataSource是CarSource(由Cars组成的BindingSource).DGV有一列,显示CarSource中汽车的Driver属性.它是一个DataGridViewComboBoxColumn,DataPropertyName设置为驱动程序.

所以我想要的是在Datagridview中显示汽车行,其中一列是组合框,我可以下拉并从现有的Occupant实例中选择一个驱动程序.但我得到了例外.

这是我误解的事吗?你能不能使用类的实例来填充DataGridViewComboBox?

c# combobox datagridviewcombobox winforms

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

无法比较数组中的两个元素

private SortedList<ToolStripMenuItem, Form> forms = new SortedList<ToolStripMenuItem, Form>();                

private void MainForm_Load(object sender, EventArgs e)
{
   formsAdd(menuCommandPrompt, new CommandPrompt());
   formsAdd(menuLogScreen, new LogScreen()); //Error
}

private void formsAdd(ToolStripMenuItem item, Form form)
{
   forms.Add(item, form); //Failed to compare two elements in the array.
   form.Tag = this;
   form.Owner = this;
}
Run Code Online (Sandbox Code Playgroud)

我无法理解为什么它会抛出错误.第二行表单加载事件发生错误.

formsAdd方法只是将form和toolstip元素添加到数组(表单)并将表单的标记和所有者设置为此.在第二次调用函数时,它会抛出一个错误.

CommandPrompt, LogScreen /* are */ Form //s
menuCommandPrompt, menuLogScreen /* are */ ToolStripMenuItem //s
Run Code Online (Sandbox Code Playgroud)

错误

c# arrays

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

指向通用类型数组的指针?

我想创建一个泛型方法,该方法使用指向T数组的指针,其中T可以是C#原语,也可以是C#类.我一直很好,直到我尝试了"T"部分.

有没有办法解决错误"无法声明指向非非托管类型TIn的指针"

我尝试通过"fixed"关键字使用固定来实现这一点.

    public static object DoSomething<TIn, TOut>(object SObj, Action<TIn, TOut> takeAction)
    {
        double[]A = (double[]) SObj;
        TIn[]B = new TIn[5];
        unsafe
        {
            fixed (double* dbl = A) // <--- works okay
            {

            }
            fixed (TIn* Sptr = B)  // <--- fails
            {

            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

-

@dtb:刚检查出blittable."blittable类型的一维数组,例如整数数组.但是,包含blittable类型的可变数组的类型本身并不是blittable." 即使存在可以约束的约束,似乎它们也将它限制为一维的数组.

c# arrays

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

c#中的observablecollection的CollectionChanged事件

如何更好地编写此代码:

void CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
    if (sender is ObservableCollection<PromotionPurchaseAmount>)
    {
        if (e.Action == NotifyCollectionChangedAction.Remove)
        {
            foreach (PromotionPurchaseAmount item in e.NewItems)
            {
                //Removed items
                item.PropertyChanged -= EntityViewModelPropertyChanged;
            }
        }
        else if (e.Action == NotifyCollectionChangedAction.Add)
        {
            foreach (PromotionPurchaseAmount item in e.NewItems)
            {
                //Added items
                item.PropertyChanged += EntityViewModelPropertyChanged;
            }
        }
    }
    else if (sender is ObservableCollection<PromotionItemPricing>)
    {
        if (e.Action == NotifyCollectionChangedAction.Remove)
        {
            foreach (PromotionItemPricing item in e.NewItems)
            {
                //Removed items
                item.PropertyChanged -= EntityViewModelPropertyChanged;
            }
        }
        else if (e.Action == NotifyCollectionChangedAction.Add)
        { …
Run Code Online (Sandbox Code Playgroud)

c# events

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

如何将哈希转换为Live API for Contacts的响应

我已经集成了Live JS api来获取用户的Live联系人,它以散列格式(email_hash)返回电子邮件.如何使用javascript或c#.net转换为可读文本非常感谢!

javascript c# api

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