我正在尝试创建一个程序来删除由excel文件填充的DataSet中的列.它删除列的方式是将每列中的标题与每行中的第一个元素进行比较,并删除未出现在行中的任何字符串的列.我的问题是,我得到了一个我无法理解的奇怪错误.它说:
在类型'Excel_Retriever.MainWindow'上调用与指定绑定约束匹配的构造函数会引发异常.行号"3"和行位置"9".
我是C#和XAML的新手,非常感谢您解决此错误的任何帮助.谢谢!这是我的代码:
XAML:
<Window x:Class="Excel_Retriever.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid Name="ExcelGrid">
<DataGrid ItemsSource="{Binding}" AutoGenerateColumns="True" Height="289" HorizontalAlignment="Left" Margin="10,10,0,0" Name="dataGrid1" VerticalAlignment="Top" Width="481" />
</Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)
C#:
namespace Excel_Retriever
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DataSet excel = GetDataTableFromExcel("C:\\Users\\Sweet Lou\\Desktop\\Adjusted research info.xlsx", "Research");
//dataGrid1.DataContext = excel.Tables[0];
DataSet ignoreds = Ignore_Names(excel);
dataGrid1.DataContext = ignoreds.Tables[0];
}
public DataSet GetDataTableFromExcel(string FilePath, string strTableName)
{
try
{
OleDbConnection con = new OleDbConnection("Provider= Microsoft.ACE.OLEDB.12.0;Data Source=" + FilePath + "; Extended …Run Code Online (Sandbox Code Playgroud) 我正在寻找一些关于如何找到弧线中点的帮助.我有起点和终点,圆心和半径.我在网上到处搜索,无法找到我可以在任何地方转换成代码的答案.如果有人有任何想法,请告诉我.以下图片是我想要找到的(假设已经找到了圆心).

我有一个Bitmaps数组,我试图将其转换为字节数组,其中字节数组的每个索引代表一个Bitmap.我在弄清楚如何做到这一点时遇到了一些麻烦.如果有人有任何建议,请告诉我.谢谢!
private void ConvertBitmapToBytes(Bitmap[] BitmapArray)
{
byte[][] BitmapBytes = new byte[BitmapArray.Length][];
ImageConverter convert = new ImageConverter();
for (int i = 0; i < BitmapArray.Length; i++)
{
BitmapBytes[i] = new byte[BitmapArray.Length];
BitmapBytes[i][i] = convert.ConvertTo(BitmapArray[i], typeof(byte[]));
}
}
Run Code Online (Sandbox Code Playgroud) 这是一个非常业余的问题,我确信这将是一个非常简单的答案,但我似乎无法弄清楚问题.我有一个带有相应.cpp文件的头文件,但出于某种原因,每当我尝试使用g ++编译时,我都会收到错误:
声明没有声明任何内容
我很确定问题是我没有初始化文件中的(唯一)变量,但我不确定要将它初始化为什么.如果有人可以提供帮助,我将不胜感激!这是我的文件:
SymbolTableDictionary.h
#ifndef SymbolTable
#define SymbolTable
#include <new>
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string>
using namespace std;
#pragma once
struct Symbol
{
std::string Name;
int Address;
Symbol::Symbol()
{ }
Symbol::Symbol(const string name, int address)
{
std::string sym(name);
this->Name = sym;
this->Address = address;
}
};
extern map<std::string, Symbol> SymbolTable;
#endif
Run Code Online (Sandbox Code Playgroud)
SymbolTableDictionary.cpp
#include <new>
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string>
#include <map>
#include "SymbolTableDictionary.h"
using namespace std;
map<std::string, Symbol> SymbolTable;
Run Code Online (Sandbox Code Playgroud)
编译错误:
In file included …Run Code Online (Sandbox Code Playgroud) 我在 DSP 和滤波领域非常陌生。就像我一周前开始的一样。无论如何,我一直在寻找在我得到的一些数据上使用滤波器(低通、高通、陷波等)的方法。数据来自一个双精度数组,我可以在这个数组中获得超过 100 万个点。我试图过滤掉给定某个截止频率的声音,但无法使任何算法起作用。我一直在互联网上下并尝试了一堆不同的库和方法,但我无法得到任何结果。我偏爱 NAudio 库,因为它似乎拥有我需要的一切(通过 BiQuadFilter 类进行 FFT 和过滤)。我很确定我的问题是我极度缺乏获得所需输出的知识和数学。从我所读到的内容来看,我认为这个过程应该如何进行:
这是过滤音频的正确方法吗?我可以将整个阵列推入 FFT 还是必须将其分解成更小的块?我如何处理我在 FFT 结果中得到的复数(即只使用实部并丢弃虚部,或者使用幅度和相位)?我真的不知道什么是“正确的方式”。
编辑
我终于让它工作了!这是我所做的:
byte[] data = doubleArray.SelectMany(value => BitConverter.GetBytes(value)).ToArray();
wms = new WaveMemoryStream(data, sampleRate, (ushort)audioBitsPerSample, (ushort)channels);
WaveFileReader wfr = new WaveFileReader(wms);
SampleChannel sample = new SampleChannel(wfr, false);
LowPassSampleProvider sampleProvider = new LowPassSampleProvider(sample);
WaveOutEvent player = new WaveOutEvent();
player.Init(sampleProvider);
player.Play();
Run Code Online (Sandbox Code Playgroud)
doubleArray 是我的加速度计数据的数组,目前拥有 100 万个点,每个点都在 1.84 左右......
WaveMemoryStream是我在另一篇文章中找到的课程
LowPassSampleProvider 是我创建的一个类,它实现了 ISampleProvider 并将样本传递给 BiQuadFilter.LowPassFilter 函数。