我正在计算两个GeoCoordinates之间的距离.我正在针对其他3-4个应用测试我的应用.当我计算距离时,我计算得到的平均值为3.3英里,而其他应用程序的距离为3.5英里.这与我正在尝试执行的计算有很大不同.有没有好的类库来计算距离?我在C#中计算它是这样的:
public static double Calculate(double sLatitude,double sLongitude, double eLatitude,
double eLongitude)
{
var radiansOverDegrees = (Math.PI / 180.0);
var sLatitudeRadians = sLatitude * radiansOverDegrees;
var sLongitudeRadians = sLongitude * radiansOverDegrees;
var eLatitudeRadians = eLatitude * radiansOverDegrees;
var eLongitudeRadians = eLongitude * radiansOverDegrees;
var dLongitude = eLongitudeRadians - sLongitudeRadians;
var dLatitude = eLatitudeRadians - sLatitudeRadians;
var result1 = Math.Pow(Math.Sin(dLatitude / 2.0), 2.0) +
Math.Cos(sLatitudeRadians) * Math.Cos(eLatitudeRadians) *
Math.Pow(Math.Sin(dLongitude / 2.0), 2.0);
// Using 3956 as the number of miles around the …
Run Code Online (Sandbox Code Playgroud) 我在.NET中有一个安装项目.当我保存的项目和其他项目,以颠覆,安装项目不再编译.我收到错误"无法更新项目的依赖项".
我在这个上画了一个空白,似乎找不到我写的任何先前的例子.我正在尝试用类实现通用接口.当我实现接口时,我认为某些东西不能正常工作,因为Visual Studio不断产生错误,说我并没有暗示通用接口中的所有方法.
这是我正在使用的存根:
public interface IOurTemplate<T, U>
{
IEnumerable<T> List<T>() where T : class;
T Get<T, U>(U id)
where T : class
where U : class;
}
Run Code Online (Sandbox Code Playgroud)
那我班上应该怎么样?
我正在尝试过滤初始查询.我已经嵌套了包含模型的叶子.我正在尝试根据其中一个包含的属性进行过滤.例如:
using (var context = new BloggingContext())
{
var blogs = context.Blogs
.Include(blog => blog.Posts)
.ThenInclude(post => post.Author)
.ToList();
}
Run Code Online (Sandbox Code Playgroud)
我怎么能说呢.Where(w => w.post.Author == "me")
?
所以我在应用程序中实现了存储库模式,并且在我对模式的理解中遇到了两个"问题":
查询 - 我已经读过使用存储库时不应该使用IQueryable的响应.但是,显而易见的是,您希望每次调用方法时都不返回完整的对象列表.应该实施吗?如果我有一个名为List的IEnumerable方法,那么IQueryable的一般"最佳实践"是什么?应该/不应该有哪些参数?
标量值 - 最好的方法(使用存储库模式)返回单个标量值而不必返回整个记录是什么?从性能的角度来看,在整行上只返回一个标量值会不会更有效率?
我写了一个基本的HtmlHelper.这是我写的一个测试,它简化了我正在做的事情并提供自我保证,当我使用StringBuilder
和TagBuilder
对象时它发生了:
public static string HelloWorld(this HtmlHelper htmlHelper, string name)
{
var sb = new StringBuilder();
var builder = new TagBuilder("span");
builder.InnerHtml = "Hello, " + name + "!";
sb.Append(builder.ToString(TagRenderMode.Normal));
sb.Append("<br/>");
return sb.ToString();
}
Run Code Online (Sandbox Code Playgroud)
此控件的输出对字符串进行编码,因此我看到以下内容:
<span>Hello, Jason!</span><br/>
在我看来,我使用以下内容: @Html.HelloWorld("Jason")
我有什么想法可以做错吗?
我希望能够使用Facebook C#SDK在我自己的Web应用程序上验证自己(我的个人资料,而不仅仅是我的应用程序).使用Graph API,我可以获得访问令牌,但该令牌似乎与Facebook C#无法正常工作,因为它似乎是无状态的.
抛出的错误是:
(OAuthException) An active access token must be used to query information about the current user.
Run Code Online (Sandbox Code Playgroud)
我浏览了Facebook C#SDK和文档,我看到的大部分信息都是将用户重定向到登录页面,这不是我想要的.
有没有人有自己的自动记录样本,所以我可以提取自己的信息?
TIA
我正在寻找一个使用jQuery和HTML的基本调查/向导示例.我希望它能连接到文本文件或XML文件,并且独立于SQL,PHP,ASP.NET或JavaScript之外的任何其他脚本语言.
TIA
更新:我正在寻找一个可以一次提出一个问题的解决方案.然后,根据选择的多项选项,我想显示一个结果,然后允许用户继续下一个问题.就像我之前说的那样,更像是一个类似向导的调查解决方案.
更新2:我也不打算存储任何结果.让我以不同的方式解释这一点.在提供其他服务的网站的主页上,我们希望显示包含5个多项选择答案的单个问题.用户可以选择答案并单击"提交".点击提交后,div会根据他们选择的答案刷新结果,并询问他们是否想要查看其他问题.没有数据存储.显示内容更不是一种有趣的练习.
所以在之前的一个问题中我询问过如何使用公共类和宾果实现通用接口,它可以工作.但是,我想要传入的其中一种类型是内置的可空类型之一,例如:int,Guid,String等.
这是我的界面:
public interface IOurTemplate<T, U>
where T : class
where U : class
{
IEnumerable<T> List();
T Get(U id);
}
Run Code Online (Sandbox Code Playgroud)
所以,当我这样实现时:
public class TestInterface : IOurTemplate<MyCustomClass, Int32>
{
public IEnumerable<MyCustomClass> List()
{
throw new NotImplementedException();
}
public MyCustomClass Get(Int32 testID)
{
throw new NotImplementedException();
}
}
Run Code Online (Sandbox Code Playgroud)
我收到错误消息:类型'int'必须是引用类型才能在泛型类型或方法'TestApp.IOurTemplate'中将其用作参数'U'
我试图推断类型Int32?,但同样的错误.有任何想法吗?
我有一个GridView,它有一个指向ObjectDataSource的DataSourceID.ObjectDataSource指向一个方法,该方法使用ObjectDataSource控件的TypeName,SelectMethod和SelectCountMethod属性返回LINQ IQueryable.发生的事情是数据在前期正确加载.然而,在回发,如果我在GridView中删除行并尝试使用明确GridView.DataBind()重新绑定,这是行不通的.我知道LINQ正在返回正确的rowcount,因为我调用了countmethod并返回了正确的rowcount.这是一个简单的例子:
<asp:GridView ID="TestGridView" runat="server" PageSize="20"
AutoGenerateColumns="false" AllowPaging="true"
AllowSorting="false" DataSourceID="TestDataSource">
<Columns>
...
</Columns>
</asp:GridView>
<asp:ObjectDataSource ID="TestDataSource" runat="server"
EnablePaging="true" SelectCountMethod="GetDetailCount"
SelectMethod="GetDetails" TypeName="MyApp.PageClass" />
Run Code Online (Sandbox Code Playgroud)
我尝试添加一个按钮并添加TestGridView.DataBind(); 方法.我已经尝试将其添加到Page_PreRender事件中.无论我尝试什么,它都无法正常工作.
正如下面有人建议的那样,我也尝试过将它移到Page_Load,但没有去.这是我的代码的一个粗略示例:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
// Set "initial" query parameters, then ...
BindData();
}
}
private void BindData()
{
// EDITED: Removed the code below since I'm not looking to delete the
// rows from the database, but rather get the GridView to rebind
// which its not.
////Remove all …
Run Code Online (Sandbox Code Playgroud) c# ×4
asp.net ×2
interface ×2
asp.net-mvc ×1
data-binding ×1
dependencies ×1
deployment ×1
exception ×1
facebook ×1
generics ×1
geocoding ×1
gridview ×1
html ×1
html-helper ×1
javascript ×1
jquery ×1
reference ×1
repository ×1
winforms ×1
xml ×1